@@ -33,7 +33,7 @@ struct _v8js_process_globals v8js_process_globals;
33
33
34
34
/* {{{ INI Settings */
35
35
36
- static ZEND_INI_MH (v8js_OnUpdateV8Flags) /* {{{ */
36
+ static bool v8js_ini_string ( char **field, const zend_string *new_value) /* {{{ */
37
37
{
38
38
bool immutable = false ;
39
39
@@ -56,18 +56,33 @@ static ZEND_INI_MH(v8js_OnUpdateV8Flags) /* {{{ */
56
56
}
57
57
58
58
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 ;
62
62
}
63
+
63
64
if (!ZSTR_VAL (new_value)[0 ]) {
64
- return FAILURE ;
65
+ return SUCCESS ;
65
66
}
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));
67
69
}
68
70
69
71
return SUCCESS;
70
72
}
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
+ /* }}} */
71
86
72
87
static bool v8js_ini_to_bool (const zend_string *new_value) /* {{{ */
73
88
{
@@ -106,6 +121,7 @@ static ZEND_INI_MH(v8js_OnUpdateCompatExceptions) /* {{{ */
106
121
107
122
ZEND_INI_BEGIN () /* {{{ */
108
123
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)
109
125
ZEND_INI_ENTRY(" v8js.use_date" , " 0" , ZEND_INI_ALL, v8js_OnUpdateUseDate)
110
126
ZEND_INI_ENTRY(" v8js.use_array_access" , " 0" , ZEND_INI_ALL, v8js_OnUpdateUseArrayAccess)
111
127
ZEND_INI_ENTRY(" v8js.compat_php_exceptions" , " 0" , ZEND_INI_ALL, v8js_OnUpdateCompatExceptions)
0 commit comments