@@ -33,7 +33,7 @@ struct _v8js_process_globals v8js_process_globals;
3333
3434/* {{{ INI Settings */
3535
36- static ZEND_INI_MH (v8js_OnUpdateV8Flags) /* {{{ */
36+ static bool v8js_ini_string ( char **field, const zend_string *new_value) /* {{{ */
3737{
3838 bool immutable = false ;
3939
@@ -56,18 +56,33 @@ static ZEND_INI_MH(v8js_OnUpdateV8Flags) /* {{{ */
5656 }
5757
5858 if (new_value) {
59- if (v8js_process_globals. v8_flags ) {
60- free (v8js_process_globals. v8_flags );
61- v8js_process_globals. v8_flags = NULL ;
59+ if (*field ) {
60+ free (*field );
61+ *field = NULL ;
6262 }
63+
6364 if (!ZSTR_VAL (new_value)[0 ]) {
64- return FAILURE ;
65+ return SUCCESS ;
6566 }
66- v8js_process_globals.v8_flags = zend_strndup (ZSTR_VAL (new_value), ZSTR_LEN (new_value));
67+
68+ *field = zend_strndup (ZSTR_VAL (new_value), ZSTR_LEN (new_value));
6769 }
6870
6971 return SUCCESS;
7072}
73+ /* }}} */
74+
75+ static ZEND_INI_MH (v8js_OnUpdateV8Flags) /* {{{ */
76+ {
77+ return v8js_ini_string (&v8js_process_globals.v8_flags , new_value);
78+ }
79+ /* }}} */
80+
81+ static ZEND_INI_MH (v8js_OnUpdateIcudatPath) /* {{{ */
82+ {
83+ return v8js_ini_string (&v8js_process_globals.icudtl_dat_path , new_value);
84+ }
85+ /* }}} */
7186
7287static bool v8js_ini_to_bool (const zend_string *new_value) /* {{{ */
7388{
@@ -106,6 +121,7 @@ static ZEND_INI_MH(v8js_OnUpdateCompatExceptions) /* {{{ */
106121
107122ZEND_INI_BEGIN () /* {{{ */
108123 ZEND_INI_ENTRY(" v8js.flags" , NULL , ZEND_INI_ALL, v8js_OnUpdateV8Flags)
124+ ZEND_INI_ENTRY(" v8js.icudtl_dat_path" , NULL , ZEND_INI_ALL, v8js_OnUpdateIcudatPath)
109125 ZEND_INI_ENTRY(" v8js.use_date" , " 0" , ZEND_INI_ALL, v8js_OnUpdateUseDate)
110126 ZEND_INI_ENTRY(" v8js.use_array_access" , " 0" , ZEND_INI_ALL, v8js_OnUpdateUseArrayAccess)
111127 ZEND_INI_ENTRY(" v8js.compat_php_exceptions" , " 0" , ZEND_INI_ALL, v8js_OnUpdateCompatExceptions)
0 commit comments