From 88d7ca44f645c6e1bbdb17affd7a34113911093d Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 1 Sep 2014 20:57:33 +0400 Subject: [PATCH] Refactored INI subsystem to use zend_string* instead of char* --- Zend/zend.c | 14 +- Zend/zend.h | 4 +- Zend/zend_builtin_functions.c | 11 +- Zend/zend_ini.c | 150 +- Zend/zend_ini.h | 45 +- Zend/zend_ini_parser.y | 6 +- Zend/zend_ini_scanner.c | 3805 +++++++++++++------------ Zend/zend_vm_def.h | 17 +- Zend/zend_vm_execute.h | 17 +- ext/date/php_date.c | 10 +- ext/exif/exif.c | 14 +- ext/filter/filter.c | 4 +- ext/iconv/iconv.c | 23 +- ext/intl/locale/locale_methods.c | 15 +- ext/mbstring/mbstring.c | 40 +- ext/mysql/php_mysql.c | 2 +- ext/mysqlnd/php_mysqlnd.c | 2 +- ext/odbc/php_odbc.c | 20 +- ext/opcache/ZendAccelerator.c | 6 +- ext/opcache/zend_accelerator_module.c | 31 +- ext/phar/phar.c | 16 +- ext/readline/readline_cli.c | 4 +- ext/reflection/php_reflection.c | 13 +- ext/session/session.c | 105 +- ext/soap/soap.c | 10 +- ext/standard/assert.c | 20 +- ext/standard/basic_functions.c | 38 +- ext/standard/browscap.c | 2 +- ext/standard/url_scanner_ex.c | 2 +- ext/standard/url_scanner_ex.re | 2 +- ext/tidy/tidy.c | 10 +- ext/zlib/zlib.c | 33 +- main/SAPI.c | 4 +- main/fopen_wrappers.c | 10 +- main/main.c | 56 +- main/php_ini.c | 27 +- main/php_ini.h | 1 + sapi/fpm/fpm/fpm_php.c | 11 +- 38 files changed, 2327 insertions(+), 2273 deletions(-) diff --git a/Zend/zend.c b/Zend/zend.c index 590f302579..a918bb0b9e 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -62,14 +62,14 @@ ZEND_API char *(*zend_resolve_path)(const char *filename, int filename_len TSRML void (*zend_on_timeout)(int seconds TSRMLS_DC); static void (*zend_message_dispatcher_p)(zend_long message, const void *data TSRMLS_DC); -static int (*zend_get_configuration_directive_p)(const char *name, uint name_length, zval *contents); +static zval *(*zend_get_configuration_directive_p)(zend_string *name); static ZEND_INI_MH(OnUpdateErrorReporting) /* {{{ */ { if (!new_value) { EG(error_reporting) = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED; } else { - EG(error_reporting) = atoi(new_value); + EG(error_reporting) = atoi(new_value->val); } return SUCCESS; } @@ -77,7 +77,7 @@ static ZEND_INI_MH(OnUpdateErrorReporting) /* {{{ */ static ZEND_INI_MH(OnUpdateGCEnabled) /* {{{ */ { - OnUpdateBool(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + OnUpdateBool(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); if (GC_G(gc_enabled)) { gc_init(TSRMLS_C); @@ -95,7 +95,7 @@ static ZEND_INI_MH(OnUpdateScriptEncoding) /* {{{ */ if (!zend_multibyte_get_functions(TSRMLS_C)) { return SUCCESS; } - return zend_multibyte_set_script_encoding_by_string(new_value, new_value_length TSRMLS_CC); + return zend_multibyte_set_script_encoding_by_string(new_value->val, new_value->len TSRMLS_CC); } /* }}} */ @@ -979,12 +979,12 @@ ZEND_API void zend_message_dispatcher(zend_long message, const void *data TSRMLS /* }}} */ END_EXTERN_C() -ZEND_API int zend_get_configuration_directive(const char *name, uint name_length, zval *contents) /* {{{ */ +ZEND_API zval *zend_get_configuration_directive(zend_string *name) /* {{{ */ { if (zend_get_configuration_directive_p) { - return zend_get_configuration_directive_p(name, name_length, contents); + return zend_get_configuration_directive_p(name); } else { - return FAILURE; + return NULL; } } /* }}} */ diff --git a/Zend/zend.h b/Zend/zend.h index 51de769704..9e8f9a62d6 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -542,7 +542,7 @@ typedef struct _zend_utility_functions { void (*message_handler)(zend_long message, const void *data TSRMLS_DC); void (*block_interruptions)(void); void (*unblock_interruptions)(void); - int (*get_configuration_directive)(const char *name, uint name_length, zval *contents); + zval *(*get_configuration_directive)(zend_string *name); void (*ticks_function)(int ticks TSRMLS_DC); void (*on_timeout)(int seconds TSRMLS_DC); int (*stream_open_function)(const char *filename, zend_file_handle *handle TSRMLS_DC); @@ -689,7 +689,7 @@ END_EXTERN_C() BEGIN_EXTERN_C() ZEND_API void zend_message_dispatcher(zend_long message, const void *data TSRMLS_DC); -ZEND_API int zend_get_configuration_directive(const char *name, uint name_length, zval *contents); +ZEND_API zval *zend_get_configuration_directive(zend_string *name); END_EXTERN_C() /* Messages for applications of Zend */ diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index 4a0a71fd04..1f50ad462a 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -381,7 +381,7 @@ ZEND_FUNCTION(gc_enabled) ZEND_FUNCTION(gc_enable) { zend_string *key = zend_string_init("zend.enable_gc", sizeof("zend.enable_gc")-1, 0); - zend_alter_ini_entry(key, "1", sizeof("1")-1, ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME); + zend_alter_ini_entry_chars(key, "1", sizeof("1")-1, ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME); zend_string_release(key); } /* }}} */ @@ -391,7 +391,7 @@ ZEND_FUNCTION(gc_enable) ZEND_FUNCTION(gc_disable) { zend_string *key = zend_string_init("zend.enable_gc", sizeof("zend.enable_gc")-1, 0); - zend_alter_ini_entry(key, "0", sizeof("0")-1, ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME); + zend_alter_ini_entry_chars(key, "0", sizeof("0")-1, ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME); zend_string_release(key); } /* }}} */ @@ -676,18 +676,17 @@ ZEND_FUNCTION(each) Return the current error_reporting level, and if an argument was passed - change to the new level */ ZEND_FUNCTION(error_reporting) { - char *err; - size_t err_len; + zend_string *err; int old_error_reporting; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &err, &err_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|S", &err) == FAILURE) { return; } old_error_reporting = EG(error_reporting); if(ZEND_NUM_ARGS() != 0) { zend_string *key = zend_string_init("error_reporting", sizeof("error_reporting")-1, 0); - zend_alter_ini_entry(key, err, err_len, ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME); + zend_alter_ini_entry(key, err, ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME); zend_string_release(key); } diff --git a/Zend/zend_ini.c b/Zend/zend_ini.c index 59c2776a85..21c2c2204e 100644 --- a/Zend/zend_ini.c +++ b/Zend/zend_ini.c @@ -56,7 +56,7 @@ static int zend_restore_ini_entry_cb(zend_ini_entry *ini_entry, int stage TSRMLS /* even if on_modify bails out, we have to continue on with restoring, since there can be allocated variables that would be freed on MM shutdown and would lead to memory corruption later ini entry is modified again */ - result = ini_entry->on_modify(ini_entry, ini_entry->orig_value, ini_entry->orig_value_length, ini_entry->mh_arg1, ini_entry->mh_arg2, ini_entry->mh_arg3, stage TSRMLS_CC); + result = ini_entry->on_modify(ini_entry, ini_entry->orig_value, ini_entry->mh_arg1, ini_entry->mh_arg2, ini_entry->mh_arg3, stage TSRMLS_CC); } zend_end_try(); } if (stage == ZEND_INI_STAGE_RUNTIME && result == FAILURE) { @@ -64,14 +64,12 @@ static int zend_restore_ini_entry_cb(zend_ini_entry *ini_entry, int stage TSRMLS return 1; } if (ini_entry->value != ini_entry->orig_value) { - efree(ini_entry->value); + zend_string_release(ini_entry->value); } ini_entry->value = ini_entry->orig_value; - ini_entry->value_length = ini_entry->orig_value_length; ini_entry->modifiable = ini_entry->orig_modifiable; ini_entry->modified = 0; ini_entry->orig_value = NULL; - ini_entry->orig_value_length = 0; ini_entry->orig_modifiable = 0; } return 0; @@ -177,11 +175,10 @@ ZEND_API void zend_ini_sort_entries(TSRMLS_D) /* {{{ */ /* * Registration / unregistration */ -ZEND_API int zend_register_ini_entries(const zend_ini_entry *ini_entry, int module_number TSRMLS_DC) /* {{{ */ +ZEND_API int zend_register_ini_entries(const zend_ini_entry_def *ini_entry, int module_number TSRMLS_DC) /* {{{ */ { - const zend_ini_entry *p = ini_entry; - zend_ini_entry *hashed_ini_entry; - zval default_value; + zend_ini_entry *p; + zval *default_value; HashTable *directives = registered_zend_ini_directives; zend_bool config_directive_success = 0; @@ -199,26 +196,43 @@ ZEND_API int zend_register_ini_entries(const zend_ini_entry *ini_entry, int modu } #endif - while (p->name) { + while (ini_entry->name) { + p = pemalloc(sizeof(zend_ini_entry), 1); + p->name = zend_string_init(ini_entry->name, ini_entry->name_length, 1); + p->on_modify = ini_entry->on_modify; + p->mh_arg1 = ini_entry->mh_arg1; + p->mh_arg2 = ini_entry->mh_arg2; + p->mh_arg3 = ini_entry->mh_arg3; + p->value = ini_entry->value ? + zend_string_init(ini_entry->value, ini_entry->value_length, 1) : NULL; + p->orig_value = NULL; + p->displayer = ini_entry->displayer; + p->modifiable = ini_entry->modifiable; + + p->orig_modifiable = 0; + p->modified = 0; + p->module_number = module_number; + config_directive_success = 0; - if ((hashed_ini_entry = zend_hash_str_add_mem(directives, p->name, p->name_length, (void*)p, sizeof(zend_ini_entry))) == NULL) { + if (zend_hash_add_ptr(directives, p->name, (void*)p) == NULL) { + if (p->orig_value) { + zend_string_release(p->orig_value); + } zend_unregister_ini_entries(module_number TSRMLS_CC); return FAILURE; } - hashed_ini_entry->module_number = module_number; - if ((zend_get_configuration_directive(p->name, p->name_length, &default_value)) == SUCCESS) { - if (!hashed_ini_entry->on_modify - || hashed_ini_entry->on_modify(hashed_ini_entry, Z_STRVAL(default_value), Z_STRLEN(default_value), hashed_ini_entry->mh_arg1, hashed_ini_entry->mh_arg2, hashed_ini_entry->mh_arg3, ZEND_INI_STAGE_STARTUP TSRMLS_CC) == SUCCESS) { - hashed_ini_entry->value = Z_STRVAL(default_value); - hashed_ini_entry->value_length = Z_STRLEN(default_value); + if ((default_value = zend_get_configuration_directive(p->name)) != NULL) { + if (!p->on_modify + || p->on_modify(p, Z_STR_P(default_value), p->mh_arg1, p->mh_arg2, p->mh_arg3, ZEND_INI_STAGE_STARTUP TSRMLS_CC) == SUCCESS) { + p->value = Z_STR_P(default_value); config_directive_success = 1; } } - if (!config_directive_success && hashed_ini_entry->on_modify) { - hashed_ini_entry->on_modify(hashed_ini_entry, hashed_ini_entry->value, hashed_ini_entry->value_length, hashed_ini_entry->mh_arg1, hashed_ini_entry->mh_arg2, hashed_ini_entry->mh_arg3, ZEND_INI_STAGE_STARTUP TSRMLS_CC); + if (!config_directive_success && p->on_modify) { + p->on_modify(p, p->value, p->mh_arg1, p->mh_arg2, p->mh_arg3, ZEND_INI_STAGE_STARTUP TSRMLS_CC); } - p++; + ini_entry++; } return SUCCESS; } @@ -250,18 +264,43 @@ ZEND_API void zend_ini_refresh_caches(int stage TSRMLS_DC) /* {{{ */ /* }}} */ #endif -ZEND_API int zend_alter_ini_entry(zend_string *name, char *new_value, uint new_value_length, int modify_type, int stage) /* {{{ */ +ZEND_API int zend_alter_ini_entry(zend_string *name, zend_string *new_value, int modify_type, int stage) /* {{{ */ { TSRMLS_FETCH(); - return zend_alter_ini_entry_ex(name, new_value, new_value_length, modify_type, stage, 0 TSRMLS_CC); + return zend_alter_ini_entry_ex(name, new_value, modify_type, stage, 0 TSRMLS_CC); +} +/* }}} */ + +ZEND_API int zend_alter_ini_entry_chars(zend_string *name, const char *value, size_t value_length, int modify_type, int stage) /* {{{ */ +{ + int ret; + zend_string *new_value; + TSRMLS_FETCH(); + + new_value = zend_string_init(value, value_length, stage != ZEND_INI_STAGE_RUNTIME); + ret = zend_alter_ini_entry_ex(name, new_value, modify_type, stage, 0 TSRMLS_CC); + zend_string_release(new_value); + return ret; +} +/* }}} */ + +ZEND_API int zend_alter_ini_entry_chars_ex(zend_string *name, const char *value, size_t value_length, int modify_type, int stage, int force_change TSRMLS_DC) /* {{{ */ +{ + int ret; + zend_string *new_value; + + new_value = zend_string_init(value, value_length, stage != ZEND_INI_STAGE_RUNTIME); + ret = zend_alter_ini_entry_ex(name, new_value, modify_type, stage, force_change TSRMLS_CC); + zend_string_release(new_value); + return ret; } /* }}} */ -ZEND_API int zend_alter_ini_entry_ex(zend_string *name, char *new_value, uint new_value_length, int modify_type, int stage, int force_change TSRMLS_DC) /* {{{ */ +ZEND_API int zend_alter_ini_entry_ex(zend_string *name, zend_string *new_value, int modify_type, int stage, int force_change TSRMLS_DC) /* {{{ */ { zend_ini_entry *ini_entry; - char *duplicate; + zend_string *duplicate; zend_bool modifiable; zend_bool modified; @@ -288,23 +327,21 @@ ZEND_API int zend_alter_ini_entry_ex(zend_string *name, char *new_value, uint ne } if (!modified) { ini_entry->orig_value = ini_entry->value; - ini_entry->orig_value_length = ini_entry->value_length; ini_entry->orig_modifiable = modifiable; ini_entry->modified = 1; zend_hash_add_ptr(EG(modified_ini_directives), name, ini_entry); } - duplicate = estrndup(new_value, new_value_length); + duplicate = zend_string_copy(new_value); if (!ini_entry->on_modify - || ini_entry->on_modify(ini_entry, duplicate, new_value_length, ini_entry->mh_arg1, ini_entry->mh_arg2, ini_entry->mh_arg3, stage TSRMLS_CC) == SUCCESS) { + || ini_entry->on_modify(ini_entry, duplicate, ini_entry->mh_arg1, ini_entry->mh_arg2, ini_entry->mh_arg3, stage TSRMLS_CC) == SUCCESS) { if (modified && ini_entry->orig_value != ini_entry->value) { /* we already changed the value, free the changed value */ - efree(ini_entry->value); + zend_string_release(ini_entry->value); } ini_entry->value = duplicate; - ini_entry->value_length = new_value_length; } else { - efree(duplicate); + zend_string_release(duplicate); return FAILURE; } @@ -360,9 +397,9 @@ ZEND_API zend_long zend_ini_long(char *name, uint name_length, int orig) /* {{{ ini_entry = zend_hash_str_find_ptr(EG(ini_directives), name, name_length); if (ini_entry) { if (orig && ini_entry->modified) { - return (ini_entry->orig_value ? ZEND_STRTOL(ini_entry->orig_value, NULL, 0) : 0); + return (ini_entry->orig_value ? ZEND_STRTOL(ini_entry->orig_value->val, NULL, 0) : 0); } else { - return (ini_entry->value ? ZEND_STRTOL(ini_entry->value, NULL, 0) : 0); + return (ini_entry->value ? ZEND_STRTOL(ini_entry->value->val, NULL, 0) : 0); } } @@ -378,9 +415,9 @@ ZEND_API double zend_ini_double(char *name, uint name_length, int orig) /* {{{ * ini_entry = zend_hash_str_find_ptr(EG(ini_directives), name, name_length); if (ini_entry) { if (orig && ini_entry->modified) { - return (double) (ini_entry->orig_value ? zend_strtod(ini_entry->orig_value, NULL) : 0.0); + return (double) (ini_entry->orig_value ? zend_strtod(ini_entry->orig_value->val, NULL) : 0.0); } else { - return (double) (ini_entry->value ? zend_strtod(ini_entry->value, NULL) : 0.0); + return (double) (ini_entry->value ? zend_strtod(ini_entry->value->val, NULL) : 0.0); } } @@ -400,9 +437,9 @@ ZEND_API char *zend_ini_string_ex(char *name, uint name_length, int orig, zend_b } if (orig && ini_entry->modified) { - return ini_entry->orig_value; + return ini_entry->orig_value ? ini_entry->orig_value->val : NULL; } else { - return ini_entry->value; + return ini_entry->value ? ini_entry->value->val : NULL; } } else { if (exists) { @@ -470,29 +507,26 @@ static void zend_ini_displayer_cb(zend_ini_entry *ini_entry, int type) /* {{{ */ ZEND_INI_DISP(zend_ini_boolean_displayer_cb) /* {{{ */ { - int value, tmp_value_len; - char *tmp_value; + int value; + zend_string *tmp_value; if (type == ZEND_INI_DISPLAY_ORIG && ini_entry->modified) { tmp_value = (ini_entry->orig_value ? ini_entry->orig_value : NULL ); - tmp_value_len = ini_entry->orig_value_length; } else if (ini_entry->value) { tmp_value = ini_entry->value; - tmp_value_len = ini_entry->value_length; } else { tmp_value = NULL; - tmp_value_len = 0; } if (tmp_value) { - if (tmp_value_len == 4 && strcasecmp(tmp_value, "true") == 0) { + if (tmp_value->len == 4 && strcasecmp(tmp_value->val, "true") == 0) { value = 1; - } else if (tmp_value_len == 3 && strcasecmp(tmp_value, "yes") == 0) { + } else if (tmp_value->len == 3 && strcasecmp(tmp_value->val, "yes") == 0) { value = 1; - } else if (tmp_value_len == 2 && strcasecmp(tmp_value, "on") == 0) { + } else if (tmp_value->len == 2 && strcasecmp(tmp_value->val, "on") == 0) { value = 1; } else { - value = atoi(tmp_value); + value = atoi(tmp_value->val); } } else { value = 0; @@ -511,9 +545,9 @@ ZEND_INI_DISP(zend_ini_color_displayer_cb) /* {{{ */ char *value; if (type == ZEND_INI_DISPLAY_ORIG && ini_entry->modified) { - value = ini_entry->orig_value; + value = ini_entry->orig_value->val; } else if (ini_entry->value) { - value = ini_entry->value; + value = ini_entry->value->val; } else { value = NULL; } @@ -538,9 +572,9 @@ ZEND_INI_DISP(display_link_numbers) /* {{{ */ char *value; if (type == ZEND_INI_DISPLAY_ORIG && ini_entry->modified) { - value = ini_entry->orig_value; + value = ini_entry->orig_value->val; } else if (ini_entry->value) { - value = ini_entry->value; + value = ini_entry->value->val; } else { value = NULL; } @@ -569,17 +603,17 @@ ZEND_API ZEND_INI_MH(OnUpdateBool) /* {{{ */ p = (zend_bool *) (base+(size_t) mh_arg1); - if (new_value_length == 2 && strcasecmp("on", new_value) == 0) { + if (new_value->len == 2 && strcasecmp("on", new_value->val) == 0) { *p = (zend_bool) 1; } - else if (new_value_length == 3 && strcasecmp("yes", new_value) == 0) { + else if (new_value->len == 3 && strcasecmp("yes", new_value->val) == 0) { *p = (zend_bool) 1; } - else if (new_value_length == 4 && strcasecmp("true", new_value) == 0) { + else if (new_value->len == 4 && strcasecmp("true", new_value->val) == 0) { *p = (zend_bool) 1; } else { - *p = (zend_bool) atoi(new_value); + *p = (zend_bool) atoi(new_value->val); } return SUCCESS; } @@ -598,7 +632,7 @@ ZEND_API ZEND_INI_MH(OnUpdateLong) /* {{{ */ p = (zend_long *) (base+(size_t) mh_arg1); - *p = zend_atol(new_value, new_value_length); + *p = zend_atol(new_value->val, new_value->len); return SUCCESS; } /* }}} */ @@ -614,7 +648,7 @@ ZEND_API ZEND_INI_MH(OnUpdateLongGEZero) /* {{{ */ base = (char *) ts_resource(*((int *) mh_arg2)); #endif - tmp = zend_atol(new_value, new_value_length); + tmp = zend_atol(new_value->val, new_value->len); if (tmp < 0) { return FAILURE; } @@ -639,7 +673,7 @@ ZEND_API ZEND_INI_MH(OnUpdateReal) /* {{{ */ p = (double *) (base+(size_t) mh_arg1); - *p = zend_strtod(new_value, NULL); + *p = zend_strtod(new_value->val, NULL); return SUCCESS; } /* }}} */ @@ -657,7 +691,7 @@ ZEND_API ZEND_INI_MH(OnUpdateString) /* {{{ */ p = (char **) (base+(size_t) mh_arg1); - *p = new_value; + *p = new_value ? new_value->val : NULL; return SUCCESS; } /* }}} */ @@ -673,13 +707,13 @@ ZEND_API ZEND_INI_MH(OnUpdateStringUnempty) /* {{{ */ base = (char *) ts_resource(*((int *) mh_arg2)); #endif - if (new_value && !new_value[0]) { + if (new_value && !new_value->val[0]) { return FAILURE; } p = (char **) (base+(size_t) mh_arg1); - *p = new_value; + *p = new_value ? new_value->val : NULL; return SUCCESS; } /* }}} */ diff --git a/Zend/zend_ini.h b/Zend/zend_ini.h index 68318612d0..f0a72c5142 100644 --- a/Zend/zend_ini.h +++ b/Zend/zend_ini.h @@ -27,28 +27,37 @@ #define ZEND_INI_ALL (ZEND_INI_USER|ZEND_INI_PERDIR|ZEND_INI_SYSTEM) -#define ZEND_INI_MH(name) int name(zend_ini_entry *entry, char *new_value, uint new_value_length, void *mh_arg1, void *mh_arg2, void *mh_arg3, int stage TSRMLS_DC) +#define ZEND_INI_MH(name) int name(zend_ini_entry *entry, zend_string *new_value, void *mh_arg1, void *mh_arg2, void *mh_arg3, int stage TSRMLS_DC) #define ZEND_INI_DISP(name) void name(zend_ini_entry *ini_entry, int type) -struct _zend_ini_entry { - int module_number; - int modifiable; - char *name; // TODO: convert into zend_string ??? - uint name_length; +typedef struct _zend_ini_entry_def { + const char *name; ZEND_INI_MH((*on_modify)); void *mh_arg1; void *mh_arg2; void *mh_arg3; + const char *value; + void (*displayer)(zend_ini_entry *ini_entry, int type); + int modifiable; - char *value; // TODO: convert into zend_string ??? + uint name_length; uint value_length; +} zend_ini_entry_def; + +struct _zend_ini_entry { + zend_string *name; + ZEND_INI_MH((*on_modify)); + void *mh_arg1; + void *mh_arg2; + void *mh_arg3; + zend_string *value; + zend_string *orig_value; + void (*displayer)(zend_ini_entry *ini_entry, int type); + int modifiable; - char *orig_value; // TODO: convert into zend_string ??? - uint orig_value_length; int orig_modifiable; int modified; - - void (*displayer)(zend_ini_entry *ini_entry, int type); + int module_number; }; BEGIN_EXTERN_C() @@ -61,11 +70,13 @@ ZEND_API int zend_copy_ini_directives(TSRMLS_D); ZEND_API void zend_ini_sort_entries(TSRMLS_D); -ZEND_API int zend_register_ini_entries(const zend_ini_entry *ini_entry, int module_number TSRMLS_DC); +ZEND_API int zend_register_ini_entries(const zend_ini_entry_def *ini_entry, int module_number TSRMLS_DC); ZEND_API void zend_unregister_ini_entries(int module_number TSRMLS_DC); ZEND_API void zend_ini_refresh_caches(int stage TSRMLS_DC); -ZEND_API int zend_alter_ini_entry(zend_string *name, char *new_value, uint new_value_length, int modify_type, int stage); -ZEND_API int zend_alter_ini_entry_ex(zend_string *name, char *new_value, uint new_value_length, int modify_type, int stage, int force_change TSRMLS_DC); +ZEND_API int zend_alter_ini_entry(zend_string *name, zend_string *new_value, int modify_type, int stage); +ZEND_API int zend_alter_ini_entry_ex(zend_string *name, zend_string *new_value, int modify_type, int stage, int force_change TSRMLS_DC); +ZEND_API int zend_alter_ini_entry_chars(zend_string *name, const char *value, size_t value_length, int modify_type, int stage); +ZEND_API int zend_alter_ini_entry_chars_ex(zend_string *name, const char *value, size_t value_length, int modify_type, int stage, int force_change TSRMLS_DC); ZEND_API int zend_restore_ini_entry(zend_string *name, int stage); ZEND_API void display_ini_entries(zend_module_entry *module); @@ -81,11 +92,11 @@ ZEND_API ZEND_INI_DISP(zend_ini_color_displayer_cb); ZEND_API ZEND_INI_DISP(display_link_numbers); END_EXTERN_C() -#define ZEND_INI_BEGIN() static const zend_ini_entry ini_entries[] = { -#define ZEND_INI_END() { 0, 0, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0, 0, NULL } }; +#define ZEND_INI_BEGIN() static const zend_ini_entry_def ini_entries[] = { +#define ZEND_INI_END() { NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0} }; #define ZEND_INI_ENTRY3_EX(name, default_value, modifiable, on_modify, arg1, arg2, arg3, displayer) \ - { 0, modifiable, name, sizeof(name)-1, on_modify, arg1, arg2, arg3, default_value, sizeof(default_value)-1, NULL, 0, 0, 0, displayer }, + { name, on_modify, arg1, arg2, arg3, default_value, displayer, modifiable, sizeof(name)-1, sizeof(default_value)-1 }, #define ZEND_INI_ENTRY3(name, default_value, modifiable, on_modify, arg1, arg2, arg3) \ ZEND_INI_ENTRY3_EX(name, default_value, modifiable, on_modify, arg1, arg2, arg3, NULL) diff --git a/Zend/zend_ini_parser.y b/Zend/zend_ini_parser.y index 5b1d0ae470..e343fcd92a 100644 --- a/Zend/zend_ini_parser.y +++ b/Zend/zend_ini_parser.y @@ -141,12 +141,12 @@ static void zend_ini_get_constant(zval *result, zval *name TSRMLS_DC) */ static void zend_ini_get_var(zval *result, zval *name TSRMLS_DC) { - zval curval; + zval *curval; char *envvar; /* Fetch configuration option value */ - if (zend_get_configuration_directive(Z_STRVAL_P(name), Z_STRLEN_P(name), &curval) == SUCCESS) { - ZVAL_PSTRINGL(result, Z_STRVAL(curval), Z_STRLEN(curval)); + if ((curval = zend_get_configuration_directive(Z_STR_P(name))) != NULL) { + ZVAL_PSTRINGL(result, Z_STRVAL_P(curval), Z_STRLEN_P(curval)); /* ..or if not found, try ENV */ } else if ((envvar = zend_getenv(Z_STRVAL_P(name), Z_STRLEN_P(name) TSRMLS_CC)) != NULL || (envvar = getenv(Z_STRVAL_P(name))) != NULL) { diff --git a/Zend/zend_ini_scanner.c b/Zend/zend_ini_scanner.c index 81a8eebd22..2abf1140fc 100644 --- a/Zend/zend_ini_scanner.c +++ b/Zend/zend_ini_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.6 */ +/* Generated by re2c 0.13.5 */ #line 1 "Zend/zend_ini_scanner.l" /* +----------------------------------------------------------------------+ @@ -447,15 +447,16 @@ yyc_INITIAL: 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, }; - YYDEBUG(1, *YYCURSOR); + + YYDEBUG(0, *YYCURSOR); YYFILL(5); yych = *YYCURSOR; YYDEBUG(-1, yych); switch (yych) { - case '\t': goto yy5; - case '\n': goto yy7; - case '\r': goto yy9; - case ' ': goto yy10; + case '\t': goto yy4; + case '\n': goto yy6; + case '\r': goto yy8; + case ' ': goto yy9; case '!': case '"': case '$': @@ -466,8 +467,8 @@ yyc_INITIAL: case '{': case '|': case '}': - case '~': goto yy11; - case '#': goto yy13; + case '~': goto yy10; + case '#': goto yy12; case '%': case '\'': case '*': @@ -481,29 +482,29 @@ yyc_INITIAL: case '>': case '?': case '@': - case ']': goto yy14; - case ';': goto yy15; - case '=': goto yy17; + case ']': goto yy13; + case ';': goto yy14; + case '=': goto yy16; case 'F': - case 'f': goto yy19; + case 'f': goto yy18; case 'N': - case 'n': goto yy20; + case 'n': goto yy19; case 'O': - case 'o': goto yy21; + case 'o': goto yy20; case 'T': - case 't': goto yy22; + case 't': goto yy21; case 'Y': - case 'y': goto yy23; - case '[': goto yy24; - default: goto yy3; + case 'y': goto yy22; + case '[': goto yy23; + default: goto yy2; } -yy3: - YYDEBUG(3, *YYCURSOR); +yy2: + YYDEBUG(2, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy27; -yy4: - YYDEBUG(4, *YYCURSOR); + goto yy26; +yy3: + YYDEBUG(3, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 477 "Zend/zend_ini_scanner.l" { /* Get option name */ @@ -515,100 +516,100 @@ yy4: RETURN_TOKEN(TC_LABEL, yytext, yyleng); } -#line 519 "Zend/zend_ini_scanner.c" -yy5: - YYDEBUG(5, *YYCURSOR); +#line 520 "Zend/zend_ini_scanner.c" +yy4: + YYDEBUG(4, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - goto yy74; -yy6: - YYDEBUG(6, *YYCURSOR); + goto yy73; +yy5: + YYDEBUG(5, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 623 "Zend/zend_ini_scanner.l" { /* eat whitespace */ goto restart; } -#line 533 "Zend/zend_ini_scanner.c" +#line 534 "Zend/zend_ini_scanner.c" +yy6: + YYDEBUG(6, *YYCURSOR); + ++YYCURSOR; yy7: YYDEBUG(7, *YYCURSOR); - ++YYCURSOR; -yy8: - YYDEBUG(8, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 628 "Zend/zend_ini_scanner.l" { SCNG(lineno)++; return END_OF_LINE; } -#line 545 "Zend/zend_ini_scanner.c" +#line 546 "Zend/zend_ini_scanner.c" +yy8: + YYDEBUG(8, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy76; + goto yy7; yy9: YYDEBUG(9, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy77; - goto yy8; -yy10: - YYDEBUG(10, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { if (yych <= '\n') { - if (yych <= 0x08) goto yy27; - if (yych <= '\t') goto yy73; - goto yy77; + if (yych <= 0x08) goto yy26; + if (yych <= '\t') goto yy72; + goto yy76; } else { - if (yych == '\r') goto yy78; - if (yych <= 0x1F) goto yy27; - goto yy75; + if (yych == '\r') goto yy77; + if (yych <= 0x1F) goto yy26; + goto yy74; } } else { if (yych <= ':') { - if (yych == '#') goto yy64; - goto yy27; + if (yych == '#') goto yy63; + goto yy26; } else { - if (yych <= ';') goto yy59; - if (yych == '=') goto yy57; - goto yy27; + if (yych <= ';') goto yy58; + if (yych == '=') goto yy56; + goto yy26; } } -yy11: - YYDEBUG(11, *YYCURSOR); +yy10: + YYDEBUG(10, *YYCURSOR); ++YYCURSOR; - YYDEBUG(12, *YYCURSOR); + YYDEBUG(11, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 551 "Zend/zend_ini_scanner.l" { /* Disallow these chars outside option values */ return yytext[0]; } -#line 584 "Zend/zend_ini_scanner.c" -yy13: - YYDEBUG(13, *YYCURSOR); +#line 585 "Zend/zend_ini_scanner.c" +yy12: + YYDEBUG(12, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - goto yy65; + goto yy64; +yy13: + YYDEBUG(13, *YYCURSOR); + yych = *++YYCURSOR; + goto yy26; yy14: YYDEBUG(14, *YYCURSOR); - yych = *++YYCURSOR; - goto yy27; -yy15: - YYDEBUG(15, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - goto yy60; - YYDEBUG(16, *YYCURSOR); + goto yy59; + YYDEBUG(15, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 651 "Zend/zend_ini_scanner.l" { return 0; } -#line 605 "Zend/zend_ini_scanner.c" -yy17: - YYDEBUG(17, *YYCURSOR); +#line 606 "Zend/zend_ini_scanner.c" +yy16: + YYDEBUG(16, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy58; -yy18: - YYDEBUG(18, *YYCURSOR); + goto yy57; +yy17: + YYDEBUG(17, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 487 "Zend/zend_ini_scanner.l" { /* Start option value */ @@ -619,61 +620,61 @@ yy18: } return '='; } -#line 623 "Zend/zend_ini_scanner.c" +#line 624 "Zend/zend_ini_scanner.c" +yy18: + YYDEBUG(18, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy53; + if (yych == 'a') goto yy53; + goto yy26; yy19: YYDEBUG(19, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy54; - if (yych == 'a') goto yy54; - goto yy27; -yy20: - YYDEBUG(20, *YYCURSOR); - yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'O') goto yy45; - if (yych <= 'T') goto yy27; - goto yy46; + if (yych == 'O') goto yy44; + if (yych <= 'T') goto yy26; + goto yy45; } else { if (yych <= 'o') { - if (yych <= 'n') goto yy27; - goto yy45; + if (yych <= 'n') goto yy26; + goto yy44; } else { - if (yych == 'u') goto yy46; - goto yy27; + if (yych == 'u') goto yy45; + goto yy26; } } -yy21: - YYDEBUG(21, *YYCURSOR); +yy20: + YYDEBUG(20, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { - if (yych == 'F') goto yy39; - if (yych <= 'M') goto yy27; - goto yy32; + if (yych == 'F') goto yy38; + if (yych <= 'M') goto yy26; + goto yy31; } else { if (yych <= 'f') { - if (yych <= 'e') goto yy27; - goto yy39; + if (yych <= 'e') goto yy26; + goto yy38; } else { - if (yych == 'n') goto yy32; - goto yy27; + if (yych == 'n') goto yy31; + goto yy26; } } +yy21: + YYDEBUG(21, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy36; + if (yych == 'r') goto yy36; + goto yy26; yy22: YYDEBUG(22, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy37; - if (yych == 'r') goto yy37; - goto yy27; + if (yych == 'E') goto yy27; + if (yych == 'e') goto yy27; + goto yy26; yy23: YYDEBUG(23, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy28; - if (yych == 'e') goto yy28; - goto yy27; -yy24: - YYDEBUG(24, *YYCURSOR); ++YYCURSOR; - YYDEBUG(25, *YYCURSOR); + YYDEBUG(24, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 402 "Zend/zend_ini_scanner.l" { /* Section start */ @@ -685,35 +686,35 @@ yy24: } return TC_SECTION; } -#line 689 "Zend/zend_ini_scanner.c" -yy26: - YYDEBUG(26, *YYCURSOR); +#line 690 "Zend/zend_ini_scanner.c" +yy25: + YYDEBUG(25, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy27: - YYDEBUG(27, *YYCURSOR); +yy26: + YYDEBUG(26, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy26; + goto yy25; } - if (yych == '[') goto yy29; - goto yy4; + if (yych == '[') goto yy28; + goto yy3; +yy27: + YYDEBUG(27, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy31; + if (yych == 's') goto yy31; + goto yy26; yy28: YYDEBUG(28, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy32; - if (yych == 's') goto yy32; - goto yy27; -yy29: - YYDEBUG(29, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(30, *YYCURSOR); + YYDEBUG(29, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy29; + goto yy28; } - YYDEBUG(31, *YYCURSOR); + YYDEBUG(30, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 427 "Zend/zend_ini_scanner.l" { /* Start of option with offset */ @@ -728,303 +729,303 @@ yy29: RETURN_TOKEN(TC_OFFSET, yytext, yyleng); } -#line 732 "Zend/zend_ini_scanner.c" -yy32: - YYDEBUG(32, *YYCURSOR); +#line 733 "Zend/zend_ini_scanner.c" +yy31: + YYDEBUG(31, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(33, *YYCURSOR); + YYDEBUG(32, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy32; + goto yy31; } if (yych <= '\'') { if (yych <= ' ') { if (yych <= '\n') { - if (yych <= 0x08) goto yy26; - if (yych <= '\t') goto yy35; + if (yych <= 0x08) goto yy25; + if (yych <= '\t') goto yy34; } else { - if (yych != '\r') goto yy26; + if (yych != '\r') goto yy25; } } else { if (yych <= '$') { - if (yych == '#') goto yy26; + if (yych == '#') goto yy25; } else { - if (yych != '&') goto yy26; + if (yych != '&') goto yy25; } } } else { if (yych <= 'Z') { if (yych <= ';') { - if (yych <= ')') goto yy34; - if (yych <= ':') goto yy26; + if (yych <= ')') goto yy33; + if (yych <= ':') goto yy25; } else { - if (yych != '=') goto yy26; + if (yych != '=') goto yy25; } } else { if (yych <= '^') { - if (yych <= '[') goto yy29; - if (yych <= ']') goto yy26; + if (yych <= '[') goto yy28; + if (yych <= ']') goto yy25; } else { - if (yych <= 'z') goto yy26; - if (yych >= 0x7F) goto yy26; + if (yych <= 'z') goto yy25; + if (yych >= 0x7F) goto yy25; } } } -yy34: - YYDEBUG(34, *YYCURSOR); +yy33: + YYDEBUG(33, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 465 "Zend/zend_ini_scanner.l" { /* TRUE value (when used outside option value/offset this causes parse error!) */ RETURN_TOKEN(BOOL_TRUE, "1", 1); } -#line 782 "Zend/zend_ini_scanner.c" -yy35: - YYDEBUG(35, *YYCURSOR); +#line 783 "Zend/zend_ini_scanner.c" +yy34: + YYDEBUG(34, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; + YYDEBUG(35, *YYCURSOR); + if (yych == '\t') goto yy34; + if (yych == ' ') goto yy34; + goto yy33; +yy36: YYDEBUG(36, *YYCURSOR); - if (yych == '\t') goto yy35; - if (yych == ' ') goto yy35; - goto yy34; + yych = *++YYCURSOR; + if (yych == 'U') goto yy37; + if (yych != 'u') goto yy26; yy37: YYDEBUG(37, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy38; - if (yych != 'u') goto yy27; + if (yych == 'E') goto yy31; + if (yych == 'e') goto yy31; + goto yy26; yy38: YYDEBUG(38, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy32; - if (yych == 'e') goto yy32; - goto yy27; + if (yych == 'F') goto yy39; + if (yych != 'f') goto yy26; yy39: YYDEBUG(39, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy40; - if (yych != 'f') goto yy27; -yy40: - YYDEBUG(40, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(41, *YYCURSOR); + YYDEBUG(40, *YYCURSOR); if (yych <= '&') { if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x08) goto yy26; - if (yych <= '\t') goto yy43; + if (yych <= 0x08) goto yy25; + if (yych <= '\t') goto yy42; } else { - if (yych != '\r') goto yy26; + if (yych != '\r') goto yy25; } } else { if (yych <= '#') { - if (yych <= ' ') goto yy40; - if (yych >= '#') goto yy26; + if (yych <= ' ') goto yy39; + if (yych >= '#') goto yy25; } else { - if (yych == '%') goto yy26; + if (yych == '%') goto yy25; } } } else { if (yych <= '=') { if (yych <= ':') { - if (yych <= '\'') goto yy26; - if (yych >= '*') goto yy26; + if (yych <= '\'') goto yy25; + if (yych >= '*') goto yy25; } else { - if (yych == '<') goto yy26; + if (yych == '<') goto yy25; } } else { if (yych <= ']') { - if (yych == '[') goto yy29; - goto yy26; + if (yych == '[') goto yy28; + goto yy25; } else { - if (yych <= '^') goto yy42; - if (yych <= 'z') goto yy26; - if (yych >= 0x7F) goto yy26; + if (yych <= '^') goto yy41; + if (yych <= 'z') goto yy25; + if (yych >= 0x7F) goto yy25; } } } -yy42: - YYDEBUG(42, *YYCURSOR); +yy41: + YYDEBUG(41, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 469 "Zend/zend_ini_scanner.l" { /* FALSE value (when used outside option value/offset this causes parse error!)*/ RETURN_TOKEN(BOOL_FALSE, "", 0); } -#line 856 "Zend/zend_ini_scanner.c" -yy43: - YYDEBUG(43, *YYCURSOR); +#line 857 "Zend/zend_ini_scanner.c" +yy42: + YYDEBUG(42, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; + YYDEBUG(43, *YYCURSOR); + if (yych == '\t') goto yy42; + if (yych == ' ') goto yy42; + goto yy41; +yy44: YYDEBUG(44, *YYCURSOR); - if (yych == '\t') goto yy43; - if (yych == ' ') goto yy43; - goto yy42; -yy45: - YYDEBUG(45, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\'') { if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x08) goto yy27; - if (yych <= '\t') goto yy43; - goto yy42; + if (yych <= 0x08) goto yy26; + if (yych <= '\t') goto yy42; + goto yy41; } else { - if (yych == '\r') goto yy42; - goto yy27; + if (yych == '\r') goto yy41; + goto yy26; } } else { if (yych <= '#') { - if (yych <= ' ') goto yy40; - if (yych <= '"') goto yy42; - goto yy27; + if (yych <= ' ') goto yy39; + if (yych <= '"') goto yy41; + goto yy26; } else { - if (yych == '%') goto yy27; - if (yych <= '&') goto yy42; - goto yy27; + if (yych == '%') goto yy26; + if (yych <= '&') goto yy41; + goto yy26; } } } else { if (yych <= 'N') { if (yych <= ';') { - if (yych <= ')') goto yy42; - if (yych <= ':') goto yy27; - goto yy42; + if (yych <= ')') goto yy41; + if (yych <= ':') goto yy26; + goto yy41; } else { - if (yych == '=') goto yy42; - if (yych <= 'M') goto yy27; - goto yy53; + if (yych == '=') goto yy41; + if (yych <= 'M') goto yy26; + goto yy52; } } else { if (yych <= 'm') { - if (yych == '^') goto yy42; - goto yy27; + if (yych == '^') goto yy41; + goto yy26; } else { - if (yych <= 'n') goto yy53; - if (yych <= 'z') goto yy27; - if (yych <= '~') goto yy42; - goto yy27; + if (yych <= 'n') goto yy52; + if (yych <= 'z') goto yy26; + if (yych <= '~') goto yy41; + goto yy26; } } } +yy45: + YYDEBUG(45, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy46; + if (yych != 'l') goto yy26; yy46: YYDEBUG(46, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy47; - if (yych != 'l') goto yy27; + if (yych != 'l') goto yy26; yy47: YYDEBUG(47, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy48; - if (yych != 'l') goto yy27; -yy48: - YYDEBUG(48, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(49, *YYCURSOR); + YYDEBUG(48, *YYCURSOR); if (yych <= '&') { if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x08) goto yy26; - if (yych <= '\t') goto yy51; + if (yych <= 0x08) goto yy25; + if (yych <= '\t') goto yy50; } else { - if (yych != '\r') goto yy26; + if (yych != '\r') goto yy25; } } else { if (yych <= '#') { - if (yych <= ' ') goto yy48; - if (yych >= '#') goto yy26; + if (yych <= ' ') goto yy47; + if (yych >= '#') goto yy25; } else { - if (yych == '%') goto yy26; + if (yych == '%') goto yy25; } } } else { if (yych <= '=') { if (yych <= ':') { - if (yych <= '\'') goto yy26; - if (yych >= '*') goto yy26; + if (yych <= '\'') goto yy25; + if (yych >= '*') goto yy25; } else { - if (yych == '<') goto yy26; + if (yych == '<') goto yy25; } } else { if (yych <= ']') { - if (yych == '[') goto yy29; - goto yy26; + if (yych == '[') goto yy28; + goto yy25; } else { - if (yych <= '^') goto yy50; - if (yych <= 'z') goto yy26; - if (yych >= 0x7F) goto yy26; + if (yych <= '^') goto yy49; + if (yych <= 'z') goto yy25; + if (yych >= 0x7F) goto yy25; } } } -yy50: - YYDEBUG(50, *YYCURSOR); +yy49: + YYDEBUG(49, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 473 "Zend/zend_ini_scanner.l" { RETURN_TOKEN(NULL_NULL, "", 0); } -#line 971 "Zend/zend_ini_scanner.c" -yy51: - YYDEBUG(51, *YYCURSOR); +#line 972 "Zend/zend_ini_scanner.c" +yy50: + YYDEBUG(50, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; + YYDEBUG(51, *YYCURSOR); + if (yych == '\t') goto yy50; + if (yych == ' ') goto yy50; + goto yy49; +yy52: YYDEBUG(52, *YYCURSOR); - if (yych == '\t') goto yy51; - if (yych == ' ') goto yy51; - goto yy50; + yych = *++YYCURSOR; + if (yych == 'E') goto yy39; + if (yych == 'e') goto yy39; + goto yy26; yy53: YYDEBUG(53, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy40; - if (yych == 'e') goto yy40; - goto yy27; + if (yych == 'L') goto yy54; + if (yych != 'l') goto yy26; yy54: YYDEBUG(54, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy55; - if (yych != 'l') goto yy27; + if (yych == 'S') goto yy55; + if (yych != 's') goto yy26; yy55: YYDEBUG(55, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy56; - if (yych != 's') goto yy27; + if (yych == 'E') goto yy39; + if (yych == 'e') goto yy39; + goto yy26; yy56: YYDEBUG(56, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy40; - if (yych == 'e') goto yy40; - goto yy27; -yy57: - YYDEBUG(57, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; +yy57: + YYDEBUG(57, *YYCURSOR); + if (yych == '\t') goto yy56; + if (yych == ' ') goto yy56; + goto yy17; yy58: YYDEBUG(58, *YYCURSOR); - if (yych == '\t') goto yy57; - if (yych == ' ') goto yy57; - goto yy18; -yy59: - YYDEBUG(59, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; -yy60: - YYDEBUG(60, *YYCURSOR); +yy59: + YYDEBUG(59, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy59; + goto yy58; } - if (yych >= '\r') goto yy63; + if (yych >= '\r') goto yy62; +yy60: + YYDEBUG(60, *YYCURSOR); + ++YYCURSOR; yy61: YYDEBUG(61, *YYCURSOR); - ++YYCURSOR; -yy62: - YYDEBUG(62, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 633 "Zend/zend_ini_scanner.l" { /* Comment */ @@ -1032,84 +1033,84 @@ yy62: SCNG(lineno)++; return END_OF_LINE; } -#line 1036 "Zend/zend_ini_scanner.c" +#line 1037 "Zend/zend_ini_scanner.c" +yy62: + YYDEBUG(62, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy60; + goto yy61; yy63: YYDEBUG(63, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy61; - goto yy62; -yy64: - YYDEBUG(64, *YYCURSOR); yyaccept = 1; YYMARKER = ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; -yy65: - YYDEBUG(65, *YYCURSOR); +yy64: + YYDEBUG(64, *YYCURSOR); if (yych <= '\'') { if (yych <= ' ') { if (yych <= '\n') { - if (yych <= 0x08) goto yy64; - if (yych >= '\n') goto yy70; + if (yych <= 0x08) goto yy63; + if (yych >= '\n') goto yy69; } else { - if (yych == '\r') goto yy72; - goto yy64; + if (yych == '\r') goto yy71; + goto yy63; } } else { if (yych <= '$') { - if (yych == '#') goto yy64; + if (yych == '#') goto yy63; } else { - if (yych != '&') goto yy64; + if (yych != '&') goto yy63; } } } else { if (yych <= 'Z') { if (yych <= ';') { - if (yych <= ')') goto yy66; - if (yych <= ':') goto yy64; + if (yych <= ')') goto yy65; + if (yych <= ':') goto yy63; } else { - if (yych != '=') goto yy64; + if (yych != '=') goto yy63; } } else { if (yych <= '^') { - if (yych <= '[') goto yy68; - if (yych <= ']') goto yy64; + if (yych <= '[') goto yy67; + if (yych <= ']') goto yy63; } else { - if (yych <= 'z') goto yy64; - if (yych >= 0x7F) goto yy64; + if (yych <= 'z') goto yy63; + if (yych >= 0x7F) goto yy63; } } } -yy66: - YYDEBUG(66, *YYCURSOR); +yy65: + YYDEBUG(65, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; + YYDEBUG(66, *YYCURSOR); + if (yych == '\n') goto yy69; + if (yych == '\r') goto yy71; + goto yy65; +yy67: YYDEBUG(67, *YYCURSOR); - if (yych == '\n') goto yy70; - if (yych == '\r') goto yy72; - goto yy66; -yy68: - YYDEBUG(68, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; - YYDEBUG(69, *YYCURSOR); + YYDEBUG(68, *YYCURSOR); if (yych <= '\f') { - if (yych <= 0x08) goto yy66; - if (yych <= '\t') goto yy68; - if (yych >= '\v') goto yy66; + if (yych <= 0x08) goto yy65; + if (yych <= '\t') goto yy67; + if (yych >= '\v') goto yy65; } else { - if (yych <= '\r') goto yy72; - if (yych == ' ') goto yy68; - goto yy66; + if (yych <= '\r') goto yy71; + if (yych == ' ') goto yy67; + goto yy65; } +yy69: + YYDEBUG(69, *YYCURSOR); + ++YYCURSOR; yy70: YYDEBUG(70, *YYCURSOR); - ++YYCURSOR; -yy71: - YYDEBUG(71, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 639 "Zend/zend_ini_scanner.l" { /* #Comment */ @@ -1118,98 +1119,98 @@ yy71: SCNG(lineno)++; return END_OF_LINE; } -#line 1122 "Zend/zend_ini_scanner.c" +#line 1123 "Zend/zend_ini_scanner.c" +yy71: + YYDEBUG(71, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy69; + goto yy70; yy72: YYDEBUG(72, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy70; - goto yy71; -yy73: - YYDEBUG(73, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; -yy74: - YYDEBUG(74, *YYCURSOR); +yy73: + YYDEBUG(73, *YYCURSOR); if (yych <= ' ') { if (yych <= '\n') { - if (yych <= 0x08) goto yy6; - if (yych <= '\t') goto yy73; - goto yy77; + if (yych <= 0x08) goto yy5; + if (yych <= '\t') goto yy72; + goto yy76; } else { - if (yych == '\r') goto yy78; - if (yych <= 0x1F) goto yy6; - goto yy73; + if (yych == '\r') goto yy77; + if (yych <= 0x1F) goto yy5; + goto yy72; } } else { if (yych <= ':') { - if (yych == '#') goto yy66; - goto yy6; + if (yych == '#') goto yy65; + goto yy5; } else { - if (yych <= ';') goto yy59; - if (yych == '=') goto yy57; - goto yy6; + if (yych <= ';') goto yy58; + if (yych == '=') goto yy56; + goto yy5; } } -yy75: - YYDEBUG(75, *YYCURSOR); +yy74: + YYDEBUG(74, *YYCURSOR); yyaccept = 1; YYMARKER = ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; - YYDEBUG(76, *YYCURSOR); + YYDEBUG(75, *YYCURSOR); if (yych <= '&') { if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x08) goto yy26; - if (yych <= '\t') goto yy73; + if (yych <= 0x08) goto yy25; + if (yych <= '\t') goto yy72; } else { - if (yych == '\r') goto yy78; - goto yy26; + if (yych == '\r') goto yy77; + goto yy25; } } else { if (yych <= '#') { - if (yych <= ' ') goto yy75; - if (yych <= '"') goto yy4; - goto yy64; + if (yych <= ' ') goto yy74; + if (yych <= '"') goto yy3; + goto yy63; } else { - if (yych == '%') goto yy26; - goto yy4; + if (yych == '%') goto yy25; + goto yy3; } } } else { if (yych <= '=') { if (yych <= ':') { - if (yych <= '\'') goto yy26; - if (yych <= ')') goto yy4; - goto yy26; + if (yych <= '\'') goto yy25; + if (yych <= ')') goto yy3; + goto yy25; } else { - if (yych <= ';') goto yy59; - if (yych <= '<') goto yy26; - goto yy57; + if (yych <= ';') goto yy58; + if (yych <= '<') goto yy25; + goto yy56; } } else { if (yych <= ']') { - if (yych == '[') goto yy29; - goto yy26; + if (yych == '[') goto yy28; + goto yy25; } else { - if (yych <= '^') goto yy4; - if (yych <= 'z') goto yy26; - if (yych <= '~') goto yy4; - goto yy26; + if (yych <= '^') goto yy3; + if (yych <= 'z') goto yy25; + if (yych <= '~') goto yy3; + goto yy25; } } } +yy76: + YYDEBUG(76, *YYCURSOR); + yych = *++YYCURSOR; + goto yy7; yy77: YYDEBUG(77, *YYCURSOR); - yych = *++YYCURSOR; - goto yy8; -yy78: - YYDEBUG(78, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy77; - goto yy8; + if ((yych = *YYCURSOR) == '\n') goto yy76; + goto yy7; } /* *********************************** */ yyc_ST_DOUBLE_QUOTES: @@ -1248,15 +1249,15 @@ yyc_ST_DOUBLE_QUOTES: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; - YYDEBUG(79, *YYCURSOR); + YYDEBUG(78, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; - if (yych == '"') goto yy83; - if (yych == '$') goto yy85; - YYDEBUG(81, *YYCURSOR); + if (yych == '"') goto yy82; + if (yych == '$') goto yy84; + YYDEBUG(80, *YYCURSOR); ++YYCURSOR; -yy82: - YYDEBUG(82, *YYCURSOR); +yy81: + YYDEBUG(81, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 583 "Zend/zend_ini_scanner.l" { /* Escape double quoted string contents */ @@ -1294,46 +1295,46 @@ yy82: zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC); return TC_QUOTED_STRING; } -#line 1298 "Zend/zend_ini_scanner.c" -yy83: - YYDEBUG(83, *YYCURSOR); +#line 1299 "Zend/zend_ini_scanner.c" +yy82: + YYDEBUG(82, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy89; -yy84: - YYDEBUG(84, *YYCURSOR); + goto yy88; +yy83: + YYDEBUG(83, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 578 "Zend/zend_ini_scanner.l" { /* Double quoted '"' string ends */ yy_pop_state(TSRMLS_C); return '"'; } -#line 1312 "Zend/zend_ini_scanner.c" -yy85: - YYDEBUG(85, *YYCURSOR); +#line 1313 "Zend/zend_ini_scanner.c" +yy84: + YYDEBUG(84, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '{') goto yy82; - YYDEBUG(86, *YYCURSOR); + if (yych != '{') goto yy81; + YYDEBUG(85, *YYCURSOR); ++YYCURSOR; - YYDEBUG(87, *YYCURSOR); + YYDEBUG(86, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 445 "Zend/zend_ini_scanner.l" { /* Variable start */ yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 1326 "Zend/zend_ini_scanner.c" -yy88: - YYDEBUG(88, *YYCURSOR); +#line 1327 "Zend/zend_ini_scanner.c" +yy87: + YYDEBUG(87, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy89: - YYDEBUG(89, *YYCURSOR); +yy88: + YYDEBUG(88, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy88; + goto yy87; } - goto yy84; + goto yy83; } /* *********************************** */ yyc_ST_OFFSET: @@ -1372,494 +1373,494 @@ yyc_ST_OFFSET: 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, }; - YYDEBUG(90, *YYCURSOR); + YYDEBUG(89, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '-') { if (yych <= ' ') { if (yych <= '\n') { - if (yych <= 0x08) goto yy92; - if (yych <= '\t') goto yy94; - goto yy95; + if (yych <= 0x08) goto yy91; + if (yych <= '\t') goto yy93; + goto yy94; } else { - if (yych == '\r') goto yy95; - if (yych >= ' ') goto yy94; + if (yych == '\r') goto yy94; + if (yych >= ' ') goto yy93; } } else { if (yych <= '$') { - if (yych == '"') goto yy97; - if (yych >= '$') goto yy99; + if (yych == '"') goto yy96; + if (yych >= '$') goto yy98; } else { - if (yych == '\'') goto yy100; - if (yych >= '-') goto yy101; + if (yych == '\'') goto yy99; + if (yych >= '-') goto yy100; } } } else { if (yych <= 'Z') { if (yych <= '9') { - if (yych <= '.') goto yy102; - if (yych >= '0') goto yy103; + if (yych <= '.') goto yy101; + if (yych >= '0') goto yy102; } else { - if (yych == ';') goto yy95; - if (yych >= 'A') goto yy105; + if (yych == ';') goto yy94; + if (yych >= 'A') goto yy104; } } else { if (yych <= '^') { - if (yych <= '[') goto yy92; - if (yych <= '\\') goto yy107; - if (yych <= ']') goto yy108; + if (yych <= '[') goto yy91; + if (yych <= '\\') goto yy106; + if (yych <= ']') goto yy107; } else { - if (yych == '`') goto yy92; - if (yych <= 'z') goto yy105; + if (yych == '`') goto yy91; + if (yych <= 'z') goto yy104; } } } -yy92: - YYDEBUG(92, *YYCURSOR); +yy91: + YYDEBUG(91, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - goto yy111; -yy93: - YYDEBUG(93, *YYCURSOR); + goto yy110; +yy92: + YYDEBUG(92, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 569 "Zend/zend_ini_scanner.l" { /* Get rest as section/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 1430 "Zend/zend_ini_scanner.c" -yy94: - YYDEBUG(94, *YYCURSOR); +#line 1431 "Zend/zend_ini_scanner.c" +yy93: + YYDEBUG(93, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 128) { - goto yy137; + goto yy136; } - if (yych == '"') goto yy139; - if (yych == ']') goto yy140; - goto yy111; + if (yych == '"') goto yy138; + if (yych == ']') goto yy139; + goto yy110; +yy94: + YYDEBUG(94, *YYCURSOR); + ++YYCURSOR; yy95: YYDEBUG(95, *YYCURSOR); - ++YYCURSOR; -yy96: - YYDEBUG(96, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 651 "Zend/zend_ini_scanner.l" { return 0; } -#line 1451 "Zend/zend_ini_scanner.c" -yy97: - YYDEBUG(97, *YYCURSOR); +#line 1452 "Zend/zend_ini_scanner.c" +yy96: + YYDEBUG(96, *YYCURSOR); ++YYCURSOR; -yy98: - YYDEBUG(98, *YYCURSOR); +yy97: + YYDEBUG(97, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 573 "Zend/zend_ini_scanner.l" { /* Double quoted '"' string start */ yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 1463 "Zend/zend_ini_scanner.c" -yy99: - YYDEBUG(99, *YYCURSOR); +#line 1464 "Zend/zend_ini_scanner.c" +yy98: + YYDEBUG(98, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\\') { - if (yych <= 0x00) goto yy96; - if (yych <= '[') goto yy110; - goto yy115; + if (yych <= 0x00) goto yy95; + if (yych <= '[') goto yy109; + goto yy114; } else { - if (yych == '{') goto yy135; - goto yy110; + if (yych == '{') goto yy134; + goto yy109; } -yy100: - YYDEBUG(100, *YYCURSOR); +yy99: + YYDEBUG(99, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 64) { - goto yy131; + goto yy130; } - goto yy96; + goto yy95; +yy100: + YYDEBUG(100, *YYCURSOR); + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy110; + if (yych <= '9') goto yy128; + goto yy110; yy101: YYDEBUG(101, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy111; - if (yych <= '9') goto yy129; - goto yy111; + if (yych <= '/') goto yy110; + if (yych <= '9') goto yy126; + goto yy110; yy102: YYDEBUG(102, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy111; - if (yych <= '9') goto yy127; - goto yy111; -yy103: - YYDEBUG(103, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '\'') { if (yych <= '\r') { - if (yych == '\n') goto yy104; - if (yych <= '\f') goto yy111; + if (yych == '\n') goto yy103; + if (yych <= '\f') goto yy110; } else { - if (yych == '"') goto yy104; - if (yych <= '&') goto yy111; + if (yych == '"') goto yy103; + if (yych <= '&') goto yy110; } } else { if (yych <= '9') { - if (yych == '.') goto yy123; - if (yych <= '/') goto yy111; - goto yy125; + if (yych == '.') goto yy122; + if (yych <= '/') goto yy110; + goto yy124; } else { if (yych <= ';') { - if (yych <= ':') goto yy111; + if (yych <= ':') goto yy110; } else { - if (yych != ']') goto yy111; + if (yych != ']') goto yy110; } } } -yy104: - YYDEBUG(104, *YYCURSOR); +yy103: + YYDEBUG(103, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 547 "Zend/zend_ini_scanner.l" { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 1529 "Zend/zend_ini_scanner.c" -yy105: - YYDEBUG(105, *YYCURSOR); +#line 1530 "Zend/zend_ini_scanner.c" +yy104: + YYDEBUG(104, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { - goto yy121; + goto yy120; } if (yych <= '"') { if (yych <= '\f') { - if (yych != '\n') goto yy111; + if (yych != '\n') goto yy110; } else { - if (yych <= '\r') goto yy106; - if (yych <= '!') goto yy111; + if (yych <= '\r') goto yy105; + if (yych <= '!') goto yy110; } } else { if (yych <= ':') { - if (yych != '\'') goto yy111; + if (yych != '\'') goto yy110; } else { - if (yych <= ';') goto yy106; - if (yych != ']') goto yy111; + if (yych <= ';') goto yy105; + if (yych != ']') goto yy110; } } -yy106: - YYDEBUG(106, *YYCURSOR); +yy105: + YYDEBUG(105, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 543 "Zend/zend_ini_scanner.l" { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 1559 "Zend/zend_ini_scanner.c" +#line 1560 "Zend/zend_ini_scanner.c" +yy106: + YYDEBUG(106, *YYCURSOR); + yych = *++YYCURSOR; + goto yy109; yy107: YYDEBUG(107, *YYCURSOR); - yych = *++YYCURSOR; - goto yy110; + ++YYCURSOR; yy108: YYDEBUG(108, *YYCURSOR); - ++YYCURSOR; -yy109: - YYDEBUG(109, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 440 "Zend/zend_ini_scanner.l" { /* End of section or an option offset */ BEGIN(INITIAL); return ']'; } -#line 1575 "Zend/zend_ini_scanner.c" -yy110: - YYDEBUG(110, *YYCURSOR); +#line 1576 "Zend/zend_ini_scanner.c" +yy109: + YYDEBUG(109, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy111: - YYDEBUG(111, *YYCURSOR); +yy110: + YYDEBUG(110, *YYCURSOR); if (yybm[0+yych] & 2) { - goto yy110; + goto yy109; } - if (yych == '$') goto yy113; - if (yych != '\\') goto yy93; -yy112: - YYDEBUG(112, *YYCURSOR); + if (yych == '$') goto yy112; + if (yych != '\\') goto yy92; +yy111: + YYDEBUG(111, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - goto yy110; -yy113: - YYDEBUG(113, *YYCURSOR); + goto yy109; +yy112: + YYDEBUG(112, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yych <= '\\') { - if (yych <= 0x00) goto yy114; - if (yych <= '[') goto yy110; - goto yy115; + if (yych <= 0x00) goto yy113; + if (yych <= '[') goto yy109; + goto yy114; } else { - if (yych != '{') goto yy110; + if (yych != '{') goto yy109; } -yy114: - YYDEBUG(114, *YYCURSOR); +yy113: + YYDEBUG(113, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy93; + if (yyaccept <= 0) { + goto yy92; } else { - goto yy96; + goto yy95; } } else { - if (yyaccept == 2) { - goto yy104; + if (yyaccept <= 2) { + goto yy103; } else { - goto yy106; + goto yy105; } } -yy115: - YYDEBUG(115, *YYCURSOR); +yy114: + YYDEBUG(114, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { - goto yy116; + goto yy115; } - if (yych == '\\') goto yy118; - goto yy110; -yy116: - YYDEBUG(116, *YYCURSOR); + if (yych == '\\') goto yy117; + goto yy109; +yy115: + YYDEBUG(115, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(117, *YYCURSOR); + YYDEBUG(116, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy116; + goto yy115; } - if (yych == '\\') goto yy120; - goto yy110; -yy118: - YYDEBUG(118, *YYCURSOR); + if (yych == '\\') goto yy119; + goto yy109; +yy117: + YYDEBUG(117, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(119, *YYCURSOR); + YYDEBUG(118, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy116; + goto yy115; } - if (yych == '\\') goto yy118; - goto yy110; -yy120: - YYDEBUG(120, *YYCURSOR); + if (yych == '\\') goto yy117; + goto yy109; +yy119: + YYDEBUG(119, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { - goto yy116; + goto yy115; } - if (yych == '\\') goto yy118; - goto yy110; -yy121: - YYDEBUG(121, *YYCURSOR); + if (yych == '\\') goto yy117; + goto yy109; +yy120: + YYDEBUG(120, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(122, *YYCURSOR); + YYDEBUG(121, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy121; + goto yy120; } if (yych <= '$') { if (yych <= '\r') { - if (yych == '\n') goto yy106; - if (yych <= '\f') goto yy110; - goto yy106; + if (yych == '\n') goto yy105; + if (yych <= '\f') goto yy109; + goto yy105; } else { - if (yych == '"') goto yy106; - if (yych <= '#') goto yy110; - goto yy113; + if (yych == '"') goto yy105; + if (yych <= '#') goto yy109; + goto yy112; } } else { if (yych <= ';') { - if (yych == '\'') goto yy106; - if (yych <= ':') goto yy110; - goto yy106; + if (yych == '\'') goto yy105; + if (yych <= ':') goto yy109; + goto yy105; } else { - if (yych <= '[') goto yy110; - if (yych <= '\\') goto yy112; - if (yych <= ']') goto yy106; - goto yy110; + if (yych <= '[') goto yy109; + if (yych <= '\\') goto yy111; + if (yych <= ']') goto yy105; + goto yy109; } } -yy123: - YYDEBUG(123, *YYCURSOR); +yy122: + YYDEBUG(122, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(124, *YYCURSOR); + YYDEBUG(123, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy123; + goto yy122; } if (yych <= '$') { if (yych <= '\r') { - if (yych == '\n') goto yy104; - if (yych <= '\f') goto yy110; - goto yy104; + if (yych == '\n') goto yy103; + if (yych <= '\f') goto yy109; + goto yy103; } else { - if (yych == '"') goto yy104; - if (yych <= '#') goto yy110; - goto yy113; + if (yych == '"') goto yy103; + if (yych <= '#') goto yy109; + goto yy112; } } else { if (yych <= ';') { - if (yych == '\'') goto yy104; - if (yych <= ':') goto yy110; - goto yy104; + if (yych == '\'') goto yy103; + if (yych <= ':') goto yy109; + goto yy103; } else { - if (yych <= '[') goto yy110; - if (yych <= '\\') goto yy112; - if (yych <= ']') goto yy104; - goto yy110; + if (yych <= '[') goto yy109; + if (yych <= '\\') goto yy111; + if (yych <= ']') goto yy103; + goto yy109; } } -yy125: - YYDEBUG(125, *YYCURSOR); +yy124: + YYDEBUG(124, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(126, *YYCURSOR); + YYDEBUG(125, *YYCURSOR); if (yych <= '\'') { if (yych <= '!') { if (yych <= '\n') { - if (yych <= '\t') goto yy110; - goto yy104; + if (yych <= '\t') goto yy109; + goto yy103; } else { - if (yych == '\r') goto yy104; - goto yy110; + if (yych == '\r') goto yy103; + goto yy109; } } else { if (yych <= '#') { - if (yych <= '"') goto yy104; - goto yy110; + if (yych <= '"') goto yy103; + goto yy109; } else { - if (yych <= '$') goto yy113; - if (yych <= '&') goto yy110; - goto yy104; + if (yych <= '$') goto yy112; + if (yych <= '&') goto yy109; + goto yy103; } } } else { if (yych <= ':') { if (yych <= '.') { - if (yych <= '-') goto yy110; - goto yy123; + if (yych <= '-') goto yy109; + goto yy122; } else { - if (yych <= '/') goto yy110; - if (yych <= '9') goto yy125; - goto yy110; + if (yych <= '/') goto yy109; + if (yych <= '9') goto yy124; + goto yy109; } } else { if (yych <= '[') { - if (yych <= ';') goto yy104; - goto yy110; + if (yych <= ';') goto yy103; + goto yy109; } else { - if (yych <= '\\') goto yy112; - if (yych <= ']') goto yy104; - goto yy110; + if (yych <= '\\') goto yy111; + if (yych <= ']') goto yy103; + goto yy109; } } } -yy127: - YYDEBUG(127, *YYCURSOR); +yy126: + YYDEBUG(126, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(128, *YYCURSOR); + YYDEBUG(127, *YYCURSOR); if (yych <= '&') { if (yych <= '\r') { - if (yych == '\n') goto yy104; - if (yych <= '\f') goto yy110; - goto yy104; + if (yych == '\n') goto yy103; + if (yych <= '\f') goto yy109; + goto yy103; } else { if (yych <= '"') { - if (yych <= '!') goto yy110; - goto yy104; + if (yych <= '!') goto yy109; + goto yy103; } else { - if (yych == '$') goto yy113; - goto yy110; + if (yych == '$') goto yy112; + goto yy109; } } } else { if (yych <= ':') { - if (yych <= '\'') goto yy104; - if (yych <= '/') goto yy110; - if (yych <= '9') goto yy127; - goto yy110; + if (yych <= '\'') goto yy103; + if (yych <= '/') goto yy109; + if (yych <= '9') goto yy126; + goto yy109; } else { if (yych <= '[') { - if (yych <= ';') goto yy104; - goto yy110; + if (yych <= ';') goto yy103; + goto yy109; } else { - if (yych <= '\\') goto yy112; - if (yych <= ']') goto yy104; - goto yy110; + if (yych <= '\\') goto yy111; + if (yych <= ']') goto yy103; + goto yy109; } } } -yy129: - YYDEBUG(129, *YYCURSOR); +yy128: + YYDEBUG(128, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(130, *YYCURSOR); + YYDEBUG(129, *YYCURSOR); if (yych <= '&') { if (yych <= '\r') { - if (yych == '\n') goto yy104; - if (yych <= '\f') goto yy110; - goto yy104; + if (yych == '\n') goto yy103; + if (yych <= '\f') goto yy109; + goto yy103; } else { if (yych <= '"') { - if (yych <= '!') goto yy110; - goto yy104; + if (yych <= '!') goto yy109; + goto yy103; } else { - if (yych == '$') goto yy113; - goto yy110; + if (yych == '$') goto yy112; + goto yy109; } } } else { if (yych <= ':') { - if (yych <= '\'') goto yy104; - if (yych <= '/') goto yy110; - if (yych <= '9') goto yy129; - goto yy110; + if (yych <= '\'') goto yy103; + if (yych <= '/') goto yy109; + if (yych <= '9') goto yy128; + goto yy109; } else { if (yych <= '[') { - if (yych <= ';') goto yy104; - goto yy110; + if (yych <= ';') goto yy103; + goto yy109; } else { - if (yych <= '\\') goto yy112; - if (yych <= ']') goto yy104; - goto yy110; + if (yych <= '\\') goto yy111; + if (yych <= ']') goto yy103; + goto yy109; } } } -yy131: - YYDEBUG(131, *YYCURSOR); +yy130: + YYDEBUG(130, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(132, *YYCURSOR); + YYDEBUG(131, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy131; + goto yy130; } - YYDEBUG(133, *YYCURSOR); + YYDEBUG(132, *YYCURSOR); ++YYCURSOR; - YYDEBUG(134, *YYCURSOR); + YYDEBUG(133, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 412 "Zend/zend_ini_scanner.l" { /* Raw string */ @@ -1870,59 +1871,59 @@ yy131: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 1874 "Zend/zend_ini_scanner.c" -yy135: - YYDEBUG(135, *YYCURSOR); +#line 1875 "Zend/zend_ini_scanner.c" +yy134: + YYDEBUG(134, *YYCURSOR); ++YYCURSOR; - YYDEBUG(136, *YYCURSOR); + YYDEBUG(135, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 445 "Zend/zend_ini_scanner.l" { /* Variable start */ yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 1885 "Zend/zend_ini_scanner.c" -yy137: - YYDEBUG(137, *YYCURSOR); +#line 1886 "Zend/zend_ini_scanner.c" +yy136: + YYDEBUG(136, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(138, *YYCURSOR); + YYDEBUG(137, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy137; + goto yy136; } if (yych <= '$') { if (yych <= '\r') { - if (yych == '\n') goto yy93; - if (yych <= '\f') goto yy110; - goto yy93; + if (yych == '\n') goto yy92; + if (yych <= '\f') goto yy109; + goto yy92; } else { - if (yych == '"') goto yy139; - if (yych <= '#') goto yy110; - goto yy113; + if (yych == '"') goto yy138; + if (yych <= '#') goto yy109; + goto yy112; } } else { if (yych <= ';') { - if (yych == '\'') goto yy93; - if (yych <= ':') goto yy110; - goto yy93; + if (yych == '\'') goto yy92; + if (yych <= ':') goto yy109; + goto yy92; } else { - if (yych <= '[') goto yy110; - if (yych <= '\\') goto yy112; - if (yych <= ']') goto yy140; - goto yy110; + if (yych <= '[') goto yy109; + if (yych <= '\\') goto yy111; + if (yych <= ']') goto yy139; + goto yy109; } } +yy138: + YYDEBUG(138, *YYCURSOR); + yych = *++YYCURSOR; + goto yy97; yy139: YYDEBUG(139, *YYCURSOR); - yych = *++YYCURSOR; - goto yy98; -yy140: - YYDEBUG(140, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy109; + goto yy108; } /* *********************************** */ yyc_ST_RAW: @@ -1961,42 +1962,42 @@ yyc_ST_RAW: 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, }; - YYDEBUG(141, *YYCURSOR); + YYDEBUG(140, *YYCURSOR); YYFILL(3); yych = *YYCURSOR; if (yych <= '\f') { if (yych <= 0x08) { - if (yych >= 0x01) goto yy145; + if (yych >= 0x01) goto yy144; } else { - if (yych <= '\t') goto yy147; - if (yych <= '\n') goto yy148; - goto yy145; + if (yych <= '\t') goto yy146; + if (yych <= '\n') goto yy147; + goto yy144; } } else { if (yych <= ' ') { - if (yych <= '\r') goto yy150; - if (yych <= 0x1F) goto yy145; - goto yy147; + if (yych <= '\r') goto yy149; + if (yych <= 0x1F) goto yy144; + goto yy146; } else { - if (yych == ';') goto yy151; - goto yy145; + if (yych == ';') goto yy150; + goto yy144; } } - YYDEBUG(143, *YYCURSOR); + YYDEBUG(142, *YYCURSOR); ++YYCURSOR; - YYDEBUG(144, *YYCURSOR); + YYDEBUG(143, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 646 "Zend/zend_ini_scanner.l" { /* End of option value (if EOF is reached before EOL */ BEGIN(INITIAL); return END_OF_LINE; } -#line 1995 "Zend/zend_ini_scanner.c" +#line 1996 "Zend/zend_ini_scanner.c" +yy144: + YYDEBUG(144, *YYCURSOR); + ++YYCURSOR; yy145: YYDEBUG(145, *YYCURSOR); - ++YYCURSOR; -yy146: - YYDEBUG(146, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 496 "Zend/zend_ini_scanner.l" { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ @@ -2035,30 +2036,30 @@ end_raw_value_chars: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 2039 "Zend/zend_ini_scanner.c" -yy147: - YYDEBUG(147, *YYCURSOR); +#line 2040 "Zend/zend_ini_scanner.c" +yy146: + YYDEBUG(146, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '\r') { - if (yych <= 0x08) goto yy146; - if (yych <= '\n') goto yy159; - if (yych <= '\f') goto yy146; - goto yy159; + if (yych <= 0x08) goto yy145; + if (yych <= '\n') goto yy158; + if (yych <= '\f') goto yy145; + goto yy158; } else { if (yych <= ' ') { - if (yych <= 0x1F) goto yy146; - goto yy159; + if (yych <= 0x1F) goto yy145; + goto yy158; } else { - if (yych == ';') goto yy159; - goto yy146; + if (yych == ';') goto yy158; + goto yy145; } } +yy147: + YYDEBUG(147, *YYCURSOR); + ++YYCURSOR; yy148: YYDEBUG(148, *YYCURSOR); - ++YYCURSOR; -yy149: - YYDEBUG(149, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 537 "Zend/zend_ini_scanner.l" { /* End of option value */ @@ -2066,33 +2067,33 @@ yy149: SCNG(lineno)++; return END_OF_LINE; } -#line 2070 "Zend/zend_ini_scanner.c" +#line 2071 "Zend/zend_ini_scanner.c" +yy149: + YYDEBUG(149, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy156; + goto yy148; yy150: YYDEBUG(150, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy157; - goto yy149; -yy151: - YYDEBUG(151, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - goto yy153; -yy152: - YYDEBUG(152, *YYCURSOR); + goto yy152; +yy151: + YYDEBUG(151, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; -yy153: - YYDEBUG(153, *YYCURSOR); +yy152: + YYDEBUG(152, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy152; + goto yy151; } - if (yych >= '\r') goto yy156; + if (yych >= '\r') goto yy155; +yy153: + YYDEBUG(153, *YYCURSOR); + ++YYCURSOR; yy154: YYDEBUG(154, *YYCURSOR); - ++YYCURSOR; -yy155: - YYDEBUG(155, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 633 "Zend/zend_ini_scanner.l" { /* Comment */ @@ -2100,46 +2101,46 @@ yy155: SCNG(lineno)++; return END_OF_LINE; } -#line 2104 "Zend/zend_ini_scanner.c" +#line 2105 "Zend/zend_ini_scanner.c" +yy155: + YYDEBUG(155, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy153; + goto yy154; yy156: YYDEBUG(156, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy154; - goto yy155; + goto yy148; yy157: YYDEBUG(157, *YYCURSOR); - yych = *++YYCURSOR; - goto yy149; -yy158: - YYDEBUG(158, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; -yy159: - YYDEBUG(159, *YYCURSOR); +yy158: + YYDEBUG(158, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy158; + goto yy157; } if (yych <= '\f') { - if (yych == '\n') goto yy157; + if (yych == '\n') goto yy156; } else { - if (yych <= '\r') goto yy161; - if (yych == ';') goto yy152; + if (yych <= '\r') goto yy160; + if (yych == ';') goto yy151; } - YYDEBUG(160, *YYCURSOR); + YYDEBUG(159, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 623 "Zend/zend_ini_scanner.l" { /* eat whitespace */ goto restart; } -#line 2138 "Zend/zend_ini_scanner.c" -yy161: - YYDEBUG(161, *YYCURSOR); +#line 2139 "Zend/zend_ini_scanner.c" +yy160: + YYDEBUG(160, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy157; - goto yy149; + if ((yych = *YYCURSOR) == '\n') goto yy156; + goto yy148; } /* *********************************** */ yyc_ST_SECTION_RAW: @@ -2178,44 +2179,44 @@ yyc_ST_SECTION_RAW: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(162, *YYCURSOR); + YYDEBUG(161, *YYCURSOR); YYFILL(3); yych = *YYCURSOR; if (yych <= '\f') { - if (yych == '\n') goto yy166; + if (yych == '\n') goto yy165; } else { - if (yych <= '\r') goto yy166; - if (yych == ']') goto yy168; + if (yych <= '\r') goto yy165; + if (yych == ']') goto yy167; } - YYDEBUG(164, *YYCURSOR); + YYDEBUG(163, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy175; -yy165: - YYDEBUG(165, *YYCURSOR); + goto yy174; +yy164: + YYDEBUG(164, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 533 "Zend/zend_ini_scanner.l" { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 2202 "Zend/zend_ini_scanner.c" -yy166: - YYDEBUG(166, *YYCURSOR); +#line 2203 "Zend/zend_ini_scanner.c" +yy165: + YYDEBUG(165, *YYCURSOR); ++YYCURSOR; - YYDEBUG(167, *YYCURSOR); + YYDEBUG(166, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 651 "Zend/zend_ini_scanner.l" { return 0; } -#line 2212 "Zend/zend_ini_scanner.c" -yy168: - YYDEBUG(168, *YYCURSOR); +#line 2213 "Zend/zend_ini_scanner.c" +yy167: + YYDEBUG(167, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy171; -yy169: - YYDEBUG(169, *YYCURSOR); + goto yy170; +yy168: + YYDEBUG(168, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 421 "Zend/zend_ini_scanner.l" { /* End of section */ @@ -2223,40 +2224,40 @@ yy169: SCNG(lineno)++; return ']'; } -#line 2227 "Zend/zend_ini_scanner.c" -yy170: - YYDEBUG(170, *YYCURSOR); +#line 2228 "Zend/zend_ini_scanner.c" +yy169: + YYDEBUG(169, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; -yy171: - YYDEBUG(171, *YYCURSOR); +yy170: + YYDEBUG(170, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy170; + goto yy169; } - if (yych == '\n') goto yy172; - if (yych == '\r') goto yy173; - goto yy169; + if (yych == '\n') goto yy171; + if (yych == '\r') goto yy172; + goto yy168; +yy171: + YYDEBUG(171, *YYCURSOR); + yych = *++YYCURSOR; + goto yy168; yy172: YYDEBUG(172, *YYCURSOR); yych = *++YYCURSOR; - goto yy169; + if (yych == '\n') goto yy171; + goto yy168; yy173: YYDEBUG(173, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy172; - goto yy169; -yy174: - YYDEBUG(174, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy175: - YYDEBUG(175, *YYCURSOR); +yy174: + YYDEBUG(174, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy174; + goto yy173; } - goto yy165; + goto yy164; } /* *********************************** */ yyc_ST_SECTION_VALUE: @@ -2295,203 +2296,203 @@ yyc_ST_SECTION_VALUE: 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, }; - YYDEBUG(176, *YYCURSOR); + YYDEBUG(175, *YYCURSOR); YYFILL(3); yych = *YYCURSOR; if (yych <= '-') { if (yych <= ' ') { if (yych <= '\n') { - if (yych <= 0x08) goto yy178; - if (yych <= '\t') goto yy180; - goto yy181; + if (yych <= 0x08) goto yy177; + if (yych <= '\t') goto yy179; + goto yy180; } else { - if (yych == '\r') goto yy181; - if (yych >= ' ') goto yy180; + if (yych == '\r') goto yy180; + if (yych >= ' ') goto yy179; } } else { if (yych <= '$') { - if (yych == '"') goto yy183; - if (yych >= '$') goto yy185; + if (yych == '"') goto yy182; + if (yych >= '$') goto yy184; } else { - if (yych == '\'') goto yy186; - if (yych >= '-') goto yy187; + if (yych == '\'') goto yy185; + if (yych >= '-') goto yy186; } } } else { if (yych <= 'Z') { if (yych <= '9') { - if (yych <= '.') goto yy188; - if (yych >= '0') goto yy189; + if (yych <= '.') goto yy187; + if (yych >= '0') goto yy188; } else { - if (yych == ';') goto yy181; - if (yych >= 'A') goto yy191; + if (yych == ';') goto yy180; + if (yych >= 'A') goto yy190; } } else { if (yych <= '^') { - if (yych <= '[') goto yy178; - if (yych <= '\\') goto yy193; - if (yych <= ']') goto yy194; + if (yych <= '[') goto yy177; + if (yych <= '\\') goto yy192; + if (yych <= ']') goto yy193; } else { - if (yych == '`') goto yy178; - if (yych <= 'z') goto yy191; + if (yych == '`') goto yy177; + if (yych <= 'z') goto yy190; } } } -yy178: - YYDEBUG(178, *YYCURSOR); +yy177: + YYDEBUG(177, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - goto yy201; -yy179: - YYDEBUG(179, *YYCURSOR); + goto yy200; +yy178: + YYDEBUG(178, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 569 "Zend/zend_ini_scanner.l" { /* Get rest as section/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 2353 "Zend/zend_ini_scanner.c" -yy180: - YYDEBUG(180, *YYCURSOR); +#line 2354 "Zend/zend_ini_scanner.c" +yy179: + YYDEBUG(179, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy227; - goto yy201; + if (yych == '\t') goto yy226; + goto yy200; } else { - if (yych <= ' ') goto yy227; - if (yych == '"') goto yy229; - goto yy201; + if (yych <= ' ') goto yy226; + if (yych == '"') goto yy228; + goto yy200; } +yy180: + YYDEBUG(180, *YYCURSOR); + ++YYCURSOR; yy181: YYDEBUG(181, *YYCURSOR); - ++YYCURSOR; -yy182: - YYDEBUG(182, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 651 "Zend/zend_ini_scanner.l" { return 0; } -#line 2376 "Zend/zend_ini_scanner.c" +#line 2377 "Zend/zend_ini_scanner.c" +yy182: + YYDEBUG(182, *YYCURSOR); + ++YYCURSOR; yy183: YYDEBUG(183, *YYCURSOR); - ++YYCURSOR; -yy184: - YYDEBUG(184, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 573 "Zend/zend_ini_scanner.l" { /* Double quoted '"' string start */ yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 2388 "Zend/zend_ini_scanner.c" -yy185: - YYDEBUG(185, *YYCURSOR); +#line 2389 "Zend/zend_ini_scanner.c" +yy184: + YYDEBUG(184, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\\') { - if (yych <= 0x00) goto yy182; - if (yych <= '[') goto yy200; - goto yy205; + if (yych <= 0x00) goto yy181; + if (yych <= '[') goto yy199; + goto yy204; } else { - if (yych == '{') goto yy225; - goto yy200; + if (yych == '{') goto yy224; + goto yy199; } -yy186: - YYDEBUG(186, *YYCURSOR); +yy185: + YYDEBUG(185, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 128) { - goto yy221; + goto yy220; } - goto yy182; + goto yy181; +yy186: + YYDEBUG(186, *YYCURSOR); + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy200; + if (yych <= '9') goto yy218; + goto yy200; yy187: YYDEBUG(187, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy201; - if (yych <= '9') goto yy219; - goto yy201; + if (yych <= '/') goto yy200; + if (yych <= '9') goto yy216; + goto yy200; yy188: YYDEBUG(188, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy201; - if (yych <= '9') goto yy217; - goto yy201; -yy189: - YYDEBUG(189, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '\'') { if (yych <= '\r') { - if (yych == '\n') goto yy190; - if (yych <= '\f') goto yy201; + if (yych == '\n') goto yy189; + if (yych <= '\f') goto yy200; } else { - if (yych == '"') goto yy190; - if (yych <= '&') goto yy201; + if (yych == '"') goto yy189; + if (yych <= '&') goto yy200; } } else { if (yych <= '9') { - if (yych == '.') goto yy213; - if (yych <= '/') goto yy201; - goto yy215; + if (yych == '.') goto yy212; + if (yych <= '/') goto yy200; + goto yy214; } else { if (yych <= ';') { - if (yych <= ':') goto yy201; + if (yych <= ':') goto yy200; } else { - if (yych != ']') goto yy201; + if (yych != ']') goto yy200; } } } -yy190: - YYDEBUG(190, *YYCURSOR); +yy189: + YYDEBUG(189, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 547 "Zend/zend_ini_scanner.l" { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 2454 "Zend/zend_ini_scanner.c" -yy191: - YYDEBUG(191, *YYCURSOR); +#line 2455 "Zend/zend_ini_scanner.c" +yy190: + YYDEBUG(190, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 32) { - goto yy211; + goto yy210; } if (yych <= '"') { if (yych <= '\f') { - if (yych != '\n') goto yy201; + if (yych != '\n') goto yy200; } else { - if (yych <= '\r') goto yy192; - if (yych <= '!') goto yy201; + if (yych <= '\r') goto yy191; + if (yych <= '!') goto yy200; } } else { if (yych <= ':') { - if (yych != '\'') goto yy201; + if (yych != '\'') goto yy200; } else { - if (yych <= ';') goto yy192; - if (yych != ']') goto yy201; + if (yych <= ';') goto yy191; + if (yych != ']') goto yy200; } } -yy192: - YYDEBUG(192, *YYCURSOR); +yy191: + YYDEBUG(191, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 543 "Zend/zend_ini_scanner.l" { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 2484 "Zend/zend_ini_scanner.c" +#line 2485 "Zend/zend_ini_scanner.c" +yy192: + YYDEBUG(192, *YYCURSOR); + yych = *++YYCURSOR; + goto yy199; yy193: YYDEBUG(193, *YYCURSOR); - yych = *++YYCURSOR; - goto yy200; -yy194: - YYDEBUG(194, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy197; -yy195: - YYDEBUG(195, *YYCURSOR); + goto yy196; +yy194: + YYDEBUG(194, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 421 "Zend/zend_ini_scanner.l" { /* End of section */ @@ -2499,317 +2500,317 @@ yy195: SCNG(lineno)++; return ']'; } -#line 2503 "Zend/zend_ini_scanner.c" -yy196: - YYDEBUG(196, *YYCURSOR); +#line 2504 "Zend/zend_ini_scanner.c" +yy195: + YYDEBUG(195, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; -yy197: - YYDEBUG(197, *YYCURSOR); +yy196: + YYDEBUG(196, *YYCURSOR); if (yybm[0+yych] & 2) { - goto yy196; + goto yy195; } - if (yych == '\n') goto yy198; - if (yych == '\r') goto yy199; - goto yy195; + if (yych == '\n') goto yy197; + if (yych == '\r') goto yy198; + goto yy194; +yy197: + YYDEBUG(197, *YYCURSOR); + yych = *++YYCURSOR; + goto yy194; yy198: YYDEBUG(198, *YYCURSOR); yych = *++YYCURSOR; - goto yy195; + if (yych == '\n') goto yy197; + goto yy194; yy199: YYDEBUG(199, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy198; - goto yy195; -yy200: - YYDEBUG(200, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy201: - YYDEBUG(201, *YYCURSOR); +yy200: + YYDEBUG(200, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy200; + goto yy199; } - if (yych == '$') goto yy203; - if (yych != '\\') goto yy179; -yy202: - YYDEBUG(202, *YYCURSOR); + if (yych == '$') goto yy202; + if (yych != '\\') goto yy178; +yy201: + YYDEBUG(201, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - goto yy200; -yy203: - YYDEBUG(203, *YYCURSOR); + goto yy199; +yy202: + YYDEBUG(202, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yych <= '\\') { - if (yych <= 0x00) goto yy204; - if (yych <= '[') goto yy200; - goto yy205; + if (yych <= 0x00) goto yy203; + if (yych <= '[') goto yy199; + goto yy204; } else { - if (yych != '{') goto yy200; + if (yych != '{') goto yy199; } -yy204: - YYDEBUG(204, *YYCURSOR); +yy203: + YYDEBUG(203, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy179; + if (yyaccept <= 0) { + goto yy178; } else { - goto yy182; + goto yy181; } } else { - if (yyaccept == 2) { - goto yy190; + if (yyaccept <= 2) { + goto yy189; } else { - goto yy192; + goto yy191; } } -yy205: - YYDEBUG(205, *YYCURSOR); +yy204: + YYDEBUG(204, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 8) { - goto yy206; + goto yy205; } - if (yych == '\\') goto yy208; - goto yy200; -yy206: - YYDEBUG(206, *YYCURSOR); + if (yych == '\\') goto yy207; + goto yy199; +yy205: + YYDEBUG(205, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(207, *YYCURSOR); + YYDEBUG(206, *YYCURSOR); if (yybm[0+yych] & 8) { - goto yy206; + goto yy205; } - if (yych == '\\') goto yy210; - goto yy200; -yy208: - YYDEBUG(208, *YYCURSOR); + if (yych == '\\') goto yy209; + goto yy199; +yy207: + YYDEBUG(207, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(209, *YYCURSOR); + YYDEBUG(208, *YYCURSOR); if (yybm[0+yych] & 8) { - goto yy206; + goto yy205; } - if (yych == '\\') goto yy208; - goto yy200; -yy210: - YYDEBUG(210, *YYCURSOR); + if (yych == '\\') goto yy207; + goto yy199; +yy209: + YYDEBUG(209, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 8) { - goto yy206; + goto yy205; } - if (yych == '\\') goto yy208; - goto yy200; -yy211: - YYDEBUG(211, *YYCURSOR); + if (yych == '\\') goto yy207; + goto yy199; +yy210: + YYDEBUG(210, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(212, *YYCURSOR); + YYDEBUG(211, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy211; + goto yy210; } if (yych <= '$') { if (yych <= '\r') { - if (yych == '\n') goto yy192; - if (yych <= '\f') goto yy200; - goto yy192; + if (yych == '\n') goto yy191; + if (yych <= '\f') goto yy199; + goto yy191; } else { - if (yych == '"') goto yy192; - if (yych <= '#') goto yy200; - goto yy203; + if (yych == '"') goto yy191; + if (yych <= '#') goto yy199; + goto yy202; } } else { if (yych <= ';') { - if (yych == '\'') goto yy192; - if (yych <= ':') goto yy200; - goto yy192; + if (yych == '\'') goto yy191; + if (yych <= ':') goto yy199; + goto yy191; } else { - if (yych <= '[') goto yy200; - if (yych <= '\\') goto yy202; - if (yych <= ']') goto yy192; - goto yy200; + if (yych <= '[') goto yy199; + if (yych <= '\\') goto yy201; + if (yych <= ']') goto yy191; + goto yy199; } } -yy213: - YYDEBUG(213, *YYCURSOR); +yy212: + YYDEBUG(212, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(214, *YYCURSOR); + YYDEBUG(213, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy213; + goto yy212; } if (yych <= '$') { if (yych <= '\r') { - if (yych == '\n') goto yy190; - if (yych <= '\f') goto yy200; - goto yy190; + if (yych == '\n') goto yy189; + if (yych <= '\f') goto yy199; + goto yy189; } else { - if (yych == '"') goto yy190; - if (yych <= '#') goto yy200; - goto yy203; + if (yych == '"') goto yy189; + if (yych <= '#') goto yy199; + goto yy202; } } else { if (yych <= ';') { - if (yych == '\'') goto yy190; - if (yych <= ':') goto yy200; - goto yy190; + if (yych == '\'') goto yy189; + if (yych <= ':') goto yy199; + goto yy189; } else { - if (yych <= '[') goto yy200; - if (yych <= '\\') goto yy202; - if (yych <= ']') goto yy190; - goto yy200; + if (yych <= '[') goto yy199; + if (yych <= '\\') goto yy201; + if (yych <= ']') goto yy189; + goto yy199; } } -yy215: - YYDEBUG(215, *YYCURSOR); +yy214: + YYDEBUG(214, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(216, *YYCURSOR); + YYDEBUG(215, *YYCURSOR); if (yych <= '\'') { if (yych <= '!') { if (yych <= '\n') { - if (yych <= '\t') goto yy200; - goto yy190; + if (yych <= '\t') goto yy199; + goto yy189; } else { - if (yych == '\r') goto yy190; - goto yy200; + if (yych == '\r') goto yy189; + goto yy199; } } else { if (yych <= '#') { - if (yych <= '"') goto yy190; - goto yy200; + if (yych <= '"') goto yy189; + goto yy199; } else { - if (yych <= '$') goto yy203; - if (yych <= '&') goto yy200; - goto yy190; + if (yych <= '$') goto yy202; + if (yych <= '&') goto yy199; + goto yy189; } } } else { if (yych <= ':') { if (yych <= '.') { - if (yych <= '-') goto yy200; - goto yy213; + if (yych <= '-') goto yy199; + goto yy212; } else { - if (yych <= '/') goto yy200; - if (yych <= '9') goto yy215; - goto yy200; + if (yych <= '/') goto yy199; + if (yych <= '9') goto yy214; + goto yy199; } } else { if (yych <= '[') { - if (yych <= ';') goto yy190; - goto yy200; + if (yych <= ';') goto yy189; + goto yy199; } else { - if (yych <= '\\') goto yy202; - if (yych <= ']') goto yy190; - goto yy200; + if (yych <= '\\') goto yy201; + if (yych <= ']') goto yy189; + goto yy199; } } } -yy217: - YYDEBUG(217, *YYCURSOR); +yy216: + YYDEBUG(216, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(218, *YYCURSOR); + YYDEBUG(217, *YYCURSOR); if (yych <= '&') { if (yych <= '\r') { - if (yych == '\n') goto yy190; - if (yych <= '\f') goto yy200; - goto yy190; + if (yych == '\n') goto yy189; + if (yych <= '\f') goto yy199; + goto yy189; } else { if (yych <= '"') { - if (yych <= '!') goto yy200; - goto yy190; + if (yych <= '!') goto yy199; + goto yy189; } else { - if (yych == '$') goto yy203; - goto yy200; + if (yych == '$') goto yy202; + goto yy199; } } } else { if (yych <= ':') { - if (yych <= '\'') goto yy190; - if (yych <= '/') goto yy200; - if (yych <= '9') goto yy217; - goto yy200; + if (yych <= '\'') goto yy189; + if (yych <= '/') goto yy199; + if (yych <= '9') goto yy216; + goto yy199; } else { if (yych <= '[') { - if (yych <= ';') goto yy190; - goto yy200; + if (yych <= ';') goto yy189; + goto yy199; } else { - if (yych <= '\\') goto yy202; - if (yych <= ']') goto yy190; - goto yy200; + if (yych <= '\\') goto yy201; + if (yych <= ']') goto yy189; + goto yy199; } } } -yy219: - YYDEBUG(219, *YYCURSOR); +yy218: + YYDEBUG(218, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(220, *YYCURSOR); + YYDEBUG(219, *YYCURSOR); if (yych <= '&') { if (yych <= '\r') { - if (yych == '\n') goto yy190; - if (yych <= '\f') goto yy200; - goto yy190; + if (yych == '\n') goto yy189; + if (yych <= '\f') goto yy199; + goto yy189; } else { if (yych <= '"') { - if (yych <= '!') goto yy200; - goto yy190; + if (yych <= '!') goto yy199; + goto yy189; } else { - if (yych == '$') goto yy203; - goto yy200; + if (yych == '$') goto yy202; + goto yy199; } } } else { if (yych <= ':') { - if (yych <= '\'') goto yy190; - if (yych <= '/') goto yy200; - if (yych <= '9') goto yy219; - goto yy200; + if (yych <= '\'') goto yy189; + if (yych <= '/') goto yy199; + if (yych <= '9') goto yy218; + goto yy199; } else { if (yych <= '[') { - if (yych <= ';') goto yy190; - goto yy200; + if (yych <= ';') goto yy189; + goto yy199; } else { - if (yych <= '\\') goto yy202; - if (yych <= ']') goto yy190; - goto yy200; + if (yych <= '\\') goto yy201; + if (yych <= ']') goto yy189; + goto yy199; } } } -yy221: - YYDEBUG(221, *YYCURSOR); +yy220: + YYDEBUG(220, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(222, *YYCURSOR); + YYDEBUG(221, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy221; + goto yy220; } - YYDEBUG(223, *YYCURSOR); + YYDEBUG(222, *YYCURSOR); ++YYCURSOR; - YYDEBUG(224, *YYCURSOR); + YYDEBUG(223, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 412 "Zend/zend_ini_scanner.l" { /* Raw string */ @@ -2820,65 +2821,65 @@ yy221: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 2824 "Zend/zend_ini_scanner.c" -yy225: - YYDEBUG(225, *YYCURSOR); +#line 2825 "Zend/zend_ini_scanner.c" +yy224: + YYDEBUG(224, *YYCURSOR); ++YYCURSOR; - YYDEBUG(226, *YYCURSOR); + YYDEBUG(225, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 445 "Zend/zend_ini_scanner.l" { /* Variable start */ yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 2835 "Zend/zend_ini_scanner.c" -yy227: - YYDEBUG(227, *YYCURSOR); +#line 2836 "Zend/zend_ini_scanner.c" +yy226: + YYDEBUG(226, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(228, *YYCURSOR); + YYDEBUG(227, *YYCURSOR); if (yych <= '"') { if (yych <= '\f') { - if (yych <= 0x08) goto yy200; - if (yych <= '\t') goto yy227; - if (yych <= '\n') goto yy179; - goto yy200; + if (yych <= 0x08) goto yy199; + if (yych <= '\t') goto yy226; + if (yych <= '\n') goto yy178; + goto yy199; } else { if (yych <= 0x1F) { - if (yych <= '\r') goto yy179; - goto yy200; + if (yych <= '\r') goto yy178; + goto yy199; } else { - if (yych <= ' ') goto yy227; - if (yych <= '!') goto yy200; + if (yych <= ' ') goto yy226; + if (yych <= '!') goto yy199; } } } else { if (yych <= ':') { if (yych <= '$') { - if (yych <= '#') goto yy200; - goto yy203; + if (yych <= '#') goto yy199; + goto yy202; } else { - if (yych == '\'') goto yy179; - goto yy200; + if (yych == '\'') goto yy178; + goto yy199; } } else { if (yych <= '[') { - if (yych <= ';') goto yy179; - goto yy200; + if (yych <= ';') goto yy178; + goto yy199; } else { - if (yych <= '\\') goto yy202; - if (yych <= ']') goto yy179; - goto yy200; + if (yych <= '\\') goto yy201; + if (yych <= ']') goto yy178; + goto yy199; } } } -yy229: - YYDEBUG(229, *YYCURSOR); +yy228: + YYDEBUG(228, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy184; + goto yy183; } /* *********************************** */ yyc_ST_VALUE: @@ -2917,28 +2918,28 @@ yyc_ST_VALUE: 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, }; - YYDEBUG(230, *YYCURSOR); + YYDEBUG(229, *YYCURSOR); YYFILL(6); yych = *YYCURSOR; YYDEBUG(-1, yych); switch (yych) { - case 0x00: goto yy232; + case 0x00: goto yy231; case '\t': - case ' ': goto yy236; - case '\n': goto yy238; - case '\r': goto yy240; + case ' ': goto yy235; + case '\n': goto yy237; + case '\r': goto yy239; case '!': case '&': case '(': case ')': case '^': case '|': - case '~': goto yy241; - case '"': goto yy243; - case '$': goto yy245; - case '\'': goto yy246; - case '-': goto yy247; - case '.': goto yy248; + case '~': goto yy240; + case '"': goto yy242; + case '$': goto yy244; + case '\'': goto yy245; + case '-': goto yy246; + case '.': goto yy247; case '0': case '1': case '2': @@ -2948,9 +2949,9 @@ yyc_ST_VALUE: case '6': case '7': case '8': - case '9': goto yy249; - case ';': goto yy251; - case '=': goto yy252; + case '9': goto yy248; + case ';': goto yy250; + case '=': goto yy251; case 'A': case 'B': case 'C': @@ -2993,62 +2994,62 @@ yyc_ST_VALUE: case 'v': case 'w': case 'x': - case 'z': goto yy254; + case 'z': goto yy253; case 'F': - case 'f': goto yy256; + case 'f': goto yy255; case 'N': - case 'n': goto yy257; + case 'n': goto yy256; case 'O': - case 'o': goto yy258; + case 'o': goto yy257; case 'T': - case 't': goto yy259; + case 't': goto yy258; case 'Y': - case 'y': goto yy260; - default: goto yy234; + case 'y': goto yy259; + default: goto yy233; } +yy231: + YYDEBUG(231, *YYCURSOR); + ++YYCURSOR; yy232: YYDEBUG(232, *YYCURSOR); - ++YYCURSOR; -yy233: - YYDEBUG(233, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 646 "Zend/zend_ini_scanner.l" { /* End of option value (if EOF is reached before EOL */ BEGIN(INITIAL); return END_OF_LINE; } -#line 3021 "Zend/zend_ini_scanner.c" -yy234: - YYDEBUG(234, *YYCURSOR); +#line 3022 "Zend/zend_ini_scanner.c" +yy233: + YYDEBUG(233, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - goto yy262; -yy235: - YYDEBUG(235, *YYCURSOR); + goto yy261; +yy234: + YYDEBUG(234, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 565 "Zend/zend_ini_scanner.l" { /* Get everything else as option/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 3034 "Zend/zend_ini_scanner.c" -yy236: - YYDEBUG(236, *YYCURSOR); +#line 3035 "Zend/zend_ini_scanner.c" +yy235: + YYDEBUG(235, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - goto yy316; -yy237: - YYDEBUG(237, *YYCURSOR); + goto yy315; +yy236: + YYDEBUG(236, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 619 "Zend/zend_ini_scanner.l" { RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng); } -#line 3047 "Zend/zend_ini_scanner.c" +#line 3048 "Zend/zend_ini_scanner.c" +yy237: + YYDEBUG(237, *YYCURSOR); + ++YYCURSOR; yy238: YYDEBUG(238, *YYCURSOR); - ++YYCURSOR; -yy239: - YYDEBUG(239, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 537 "Zend/zend_ini_scanner.l" { /* End of option value */ @@ -3056,125 +3057,125 @@ yy239: SCNG(lineno)++; return END_OF_LINE; } -#line 3060 "Zend/zend_ini_scanner.c" +#line 3061 "Zend/zend_ini_scanner.c" +yy239: + YYDEBUG(239, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy313; + goto yy238; yy240: YYDEBUG(240, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy314; - goto yy239; -yy241: - YYDEBUG(241, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy313; -yy242: - YYDEBUG(242, *YYCURSOR); + goto yy312; +yy241: + YYDEBUG(241, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 555 "Zend/zend_ini_scanner.l" { /* Boolean operators */ return yytext[0]; } -#line 3078 "Zend/zend_ini_scanner.c" +#line 3079 "Zend/zend_ini_scanner.c" +yy242: + YYDEBUG(242, *YYCURSOR); + ++YYCURSOR; yy243: YYDEBUG(243, *YYCURSOR); - ++YYCURSOR; -yy244: - YYDEBUG(244, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 573 "Zend/zend_ini_scanner.l" { /* Double quoted '"' string start */ yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 3090 "Zend/zend_ini_scanner.c" -yy245: - YYDEBUG(245, *YYCURSOR); +#line 3091 "Zend/zend_ini_scanner.c" +yy244: + YYDEBUG(244, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\\') { - if (yych <= 0x00) goto yy233; - if (yych <= '[') goto yy261; - goto yy268; + if (yych <= 0x00) goto yy232; + if (yych <= '[') goto yy260; + goto yy267; } else { - if (yych == '{') goto yy310; - goto yy261; + if (yych == '{') goto yy309; + goto yy260; } -yy246: - YYDEBUG(246, *YYCURSOR); +yy245: + YYDEBUG(245, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 128) { - goto yy306; + goto yy305; } - goto yy233; + goto yy232; +yy246: + YYDEBUG(246, *YYCURSOR); + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy261; + if (yych <= '9') goto yy303; + goto yy261; yy247: YYDEBUG(247, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy262; - if (yych <= '9') goto yy304; - goto yy262; + if (yych <= '/') goto yy261; + if (yych <= '9') goto yy301; + goto yy261; yy248: YYDEBUG(248, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy262; - if (yych <= '9') goto yy302; - goto yy262; -yy249: - YYDEBUG(249, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x00) goto yy250; - if (yych <= 0x08) goto yy262; + if (yych <= 0x00) goto yy249; + if (yych <= 0x08) goto yy261; } else { - if (yych != '\r') goto yy262; + if (yych != '\r') goto yy261; } } else { if (yych <= ')') { - if (yych <= '"') goto yy250; - if (yych <= '%') goto yy262; + if (yych <= '"') goto yy249; + if (yych <= '%') goto yy261; } else { - if (yych == '.') goto yy298; - goto yy262; + if (yych == '.') goto yy297; + goto yy261; } } } else { if (yych <= ']') { if (yych <= ';') { - if (yych <= '9') goto yy300; - if (yych <= ':') goto yy262; + if (yych <= '9') goto yy299; + if (yych <= ':') goto yy261; } else { - if (yych != '=') goto yy262; + if (yych != '=') goto yy261; } } else { if (yych <= '|') { - if (yych <= '^') goto yy250; - if (yych <= '{') goto yy262; + if (yych <= '^') goto yy249; + if (yych <= '{') goto yy261; } else { - if (yych != '~') goto yy262; + if (yych != '~') goto yy261; } } } -yy250: - YYDEBUG(250, *YYCURSOR); +yy249: + YYDEBUG(249, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 547 "Zend/zend_ini_scanner.l" { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 3169 "Zend/zend_ini_scanner.c" -yy251: - YYDEBUG(251, *YYCURSOR); +#line 3170 "Zend/zend_ini_scanner.c" +yy250: + YYDEBUG(250, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - goto yy294; -yy252: - YYDEBUG(252, *YYCURSOR); + goto yy293; +yy251: + YYDEBUG(251, *YYCURSOR); ++YYCURSOR; - YYDEBUG(253, *YYCURSOR); + YYDEBUG(252, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 559 "Zend/zend_ini_scanner.l" { /* Make = used in option value to trigger error */ @@ -3182,1222 +3183,1222 @@ yy252: BEGIN(INITIAL); return END_OF_LINE; } -#line 3186 "Zend/zend_ini_scanner.c" -yy254: - YYDEBUG(254, *YYCURSOR); +#line 3187 "Zend/zend_ini_scanner.c" +yy253: + YYDEBUG(253, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { - goto yy263; + goto yy262; } if (yych <= ':') { if (yych <= '\r') { if (yych <= 0x08) { - if (yych >= 0x01) goto yy262; + if (yych >= 0x01) goto yy261; } else { - if (yych <= '\n') goto yy255; - if (yych <= '\f') goto yy262; + if (yych <= '\n') goto yy254; + if (yych <= '\f') goto yy261; } } else { if (yych <= '"') { - if (yych <= 0x1F) goto yy262; + if (yych <= 0x1F) goto yy261; } else { - if (yych <= '%') goto yy262; - if (yych >= '*') goto yy262; + if (yych <= '%') goto yy261; + if (yych >= '*') goto yy261; } } } else { if (yych <= '^') { if (yych <= '<') { - if (yych >= '<') goto yy262; + if (yych >= '<') goto yy261; } else { - if (yych <= '=') goto yy255; - if (yych <= ']') goto yy262; + if (yych <= '=') goto yy254; + if (yych <= ']') goto yy261; } } else { if (yych <= '|') { - if (yych <= '{') goto yy262; + if (yych <= '{') goto yy261; } else { - if (yych != '~') goto yy262; + if (yych != '~') goto yy261; } } } -yy255: - YYDEBUG(255, *YYCURSOR); +yy254: + YYDEBUG(254, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 543 "Zend/zend_ini_scanner.l" { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 3233 "Zend/zend_ini_scanner.c" -yy256: - YYDEBUG(256, *YYCURSOR); +#line 3234 "Zend/zend_ini_scanner.c" +yy255: + YYDEBUG(255, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '<') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy255; - if (yych <= 0x08) goto yy262; - goto yy255; + if (yych <= 0x00) goto yy254; + if (yych <= 0x08) goto yy261; + goto yy254; } else { - if (yych == '\r') goto yy255; - if (yych <= 0x1F) goto yy262; - goto yy255; + if (yych == '\r') goto yy254; + if (yych <= 0x1F) goto yy261; + goto yy254; } } else { if (yych <= '/') { - if (yych <= '%') goto yy262; - if (yych <= ')') goto yy255; - goto yy262; + if (yych <= '%') goto yy261; + if (yych <= ')') goto yy254; + goto yy261; } else { - if (yych <= '9') goto yy263; - if (yych == ';') goto yy255; - goto yy262; + if (yych <= '9') goto yy262; + if (yych == ';') goto yy254; + goto yy261; } } } else { if (yych <= '_') { if (yych <= 'A') { - if (yych <= '=') goto yy255; - if (yych <= '@') goto yy262; - goto yy290; + if (yych <= '=') goto yy254; + if (yych <= '@') goto yy261; + goto yy289; } else { - if (yych <= 'Z') goto yy263; - if (yych <= ']') goto yy262; - if (yych <= '^') goto yy255; - goto yy263; + if (yych <= 'Z') goto yy262; + if (yych <= ']') goto yy261; + if (yych <= '^') goto yy254; + goto yy262; } } else { if (yych <= '{') { - if (yych <= '`') goto yy262; - if (yych <= 'a') goto yy290; - if (yych <= 'z') goto yy263; - goto yy262; + if (yych <= '`') goto yy261; + if (yych <= 'a') goto yy289; + if (yych <= 'z') goto yy262; + goto yy261; } else { - if (yych == '}') goto yy262; - if (yych <= '~') goto yy255; - goto yy262; + if (yych == '}') goto yy261; + if (yych <= '~') goto yy254; + goto yy261; } } } -yy257: - YYDEBUG(257, *YYCURSOR); +yy256: + YYDEBUG(256, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '%') { if (yych <= '\f') { - if (yych <= 0x00) goto yy255; - if (yych <= 0x08) goto yy262; - if (yych <= '\n') goto yy255; - goto yy262; + if (yych <= 0x00) goto yy254; + if (yych <= 0x08) goto yy261; + if (yych <= '\n') goto yy254; + goto yy261; } else { - if (yych <= '\r') goto yy255; - if (yych <= 0x1F) goto yy262; - if (yych <= '"') goto yy255; - goto yy262; + if (yych <= '\r') goto yy254; + if (yych <= 0x1F) goto yy261; + if (yych <= '"') goto yy254; + goto yy261; } } else { if (yych <= ':') { - if (yych <= ')') goto yy255; - if (yych <= '/') goto yy262; - if (yych <= '9') goto yy263; - goto yy262; + if (yych <= ')') goto yy254; + if (yych <= '/') goto yy261; + if (yych <= '9') goto yy262; + goto yy261; } else { if (yych <= '<') { - if (yych <= ';') goto yy255; - goto yy262; + if (yych <= ';') goto yy254; + goto yy261; } else { - if (yych <= '=') goto yy255; - if (yych <= '@') goto yy262; - goto yy263; + if (yych <= '=') goto yy254; + if (yych <= '@') goto yy261; + goto yy262; } } } } else { if (yych <= 'n') { if (yych <= 'Z') { - if (yych <= 'O') goto yy282; - if (yych == 'U') goto yy283; - goto yy263; + if (yych <= 'O') goto yy281; + if (yych == 'U') goto yy282; + goto yy262; } else { if (yych <= '^') { - if (yych <= ']') goto yy262; - goto yy255; + if (yych <= ']') goto yy261; + goto yy254; } else { - if (yych == '`') goto yy262; - goto yy263; + if (yych == '`') goto yy261; + goto yy262; } } } else { if (yych <= 'z') { - if (yych <= 'o') goto yy282; - if (yych == 'u') goto yy283; - goto yy263; + if (yych <= 'o') goto yy281; + if (yych == 'u') goto yy282; + goto yy262; } else { if (yych <= '|') { - if (yych <= '{') goto yy262; - goto yy255; + if (yych <= '{') goto yy261; + goto yy254; } else { - if (yych == '~') goto yy255; - goto yy262; + if (yych == '~') goto yy254; + goto yy261; } } } } -yy258: - YYDEBUG(258, *YYCURSOR); +yy257: + YYDEBUG(257, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '%') { if (yych <= '\f') { - if (yych <= 0x00) goto yy255; - if (yych <= 0x08) goto yy262; - if (yych <= '\n') goto yy255; - goto yy262; + if (yych <= 0x00) goto yy254; + if (yych <= 0x08) goto yy261; + if (yych <= '\n') goto yy254; + goto yy261; } else { - if (yych <= '\r') goto yy255; - if (yych <= 0x1F) goto yy262; - if (yych <= '"') goto yy255; - goto yy262; + if (yych <= '\r') goto yy254; + if (yych <= 0x1F) goto yy261; + if (yych <= '"') goto yy254; + goto yy261; } } else { if (yych <= ':') { - if (yych <= ')') goto yy255; - if (yych <= '/') goto yy262; - if (yych <= '9') goto yy263; - goto yy262; + if (yych <= ')') goto yy254; + if (yych <= '/') goto yy261; + if (yych <= '9') goto yy262; + goto yy261; } else { if (yych <= '<') { - if (yych <= ';') goto yy255; - goto yy262; + if (yych <= ';') goto yy254; + goto yy261; } else { - if (yych <= '=') goto yy255; - if (yych <= '@') goto yy262; - goto yy263; + if (yych <= '=') goto yy254; + if (yych <= '@') goto yy261; + goto yy262; } } } } else { if (yych <= 'e') { if (yych <= 'Z') { - if (yych <= 'F') goto yy277; - if (yych == 'N') goto yy271; - goto yy263; + if (yych <= 'F') goto yy276; + if (yych == 'N') goto yy270; + goto yy262; } else { if (yych <= '^') { - if (yych <= ']') goto yy262; - goto yy255; + if (yych <= ']') goto yy261; + goto yy254; } else { - if (yych == '`') goto yy262; - goto yy263; + if (yych == '`') goto yy261; + goto yy262; } } } else { if (yych <= 'z') { - if (yych <= 'f') goto yy277; - if (yych == 'n') goto yy271; - goto yy263; + if (yych <= 'f') goto yy276; + if (yych == 'n') goto yy270; + goto yy262; } else { if (yych <= '|') { - if (yych <= '{') goto yy262; - goto yy255; + if (yych <= '{') goto yy261; + goto yy254; } else { - if (yych == '~') goto yy255; - goto yy262; + if (yych == '~') goto yy254; + goto yy261; } } } } -yy259: - YYDEBUG(259, *YYCURSOR); +yy258: + YYDEBUG(258, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy255; - if (yych <= 0x08) goto yy262; - goto yy255; + if (yych <= 0x00) goto yy254; + if (yych <= 0x08) goto yy261; + goto yy254; } else { - if (yych == '\r') goto yy255; - if (yych <= 0x1F) goto yy262; - goto yy255; + if (yych == '\r') goto yy254; + if (yych <= 0x1F) goto yy261; + goto yy254; } } else { if (yych <= '9') { - if (yych <= '%') goto yy262; - if (yych <= ')') goto yy255; - if (yych <= '/') goto yy262; - goto yy263; + if (yych <= '%') goto yy261; + if (yych <= ')') goto yy254; + if (yych <= '/') goto yy261; + goto yy262; } else { - if (yych == ';') goto yy255; - if (yych <= '<') goto yy262; - goto yy255; + if (yych == ';') goto yy254; + if (yych <= '<') goto yy261; + goto yy254; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= '@') goto yy262; - if (yych == 'R') goto yy275; - goto yy263; - } else { - if (yych <= ']') goto yy262; - if (yych <= '^') goto yy255; - if (yych <= '_') goto yy263; + if (yych <= '@') goto yy261; + if (yych == 'R') goto yy274; goto yy262; + } else { + if (yych <= ']') goto yy261; + if (yych <= '^') goto yy254; + if (yych <= '_') goto yy262; + goto yy261; } } else { if (yych <= '{') { - if (yych == 'r') goto yy275; - if (yych <= 'z') goto yy263; - goto yy262; + if (yych == 'r') goto yy274; + if (yych <= 'z') goto yy262; + goto yy261; } else { - if (yych == '}') goto yy262; - if (yych <= '~') goto yy255; - goto yy262; + if (yych == '}') goto yy261; + if (yych <= '~') goto yy254; + goto yy261; } } } -yy260: - YYDEBUG(260, *YYCURSOR); +yy259: + YYDEBUG(259, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy255; - if (yych <= 0x08) goto yy262; - goto yy255; + if (yych <= 0x00) goto yy254; + if (yych <= 0x08) goto yy261; + goto yy254; } else { - if (yych == '\r') goto yy255; - if (yych <= 0x1F) goto yy262; - goto yy255; + if (yych == '\r') goto yy254; + if (yych <= 0x1F) goto yy261; + goto yy254; } } else { if (yych <= '9') { - if (yych <= '%') goto yy262; - if (yych <= ')') goto yy255; - if (yych <= '/') goto yy262; - goto yy263; + if (yych <= '%') goto yy261; + if (yych <= ')') goto yy254; + if (yych <= '/') goto yy261; + goto yy262; } else { - if (yych == ';') goto yy255; - if (yych <= '<') goto yy262; - goto yy255; + if (yych == ';') goto yy254; + if (yych <= '<') goto yy261; + goto yy254; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= '@') goto yy262; - if (yych == 'E') goto yy265; - goto yy263; - } else { - if (yych <= ']') goto yy262; - if (yych <= '^') goto yy255; - if (yych <= '_') goto yy263; + if (yych <= '@') goto yy261; + if (yych == 'E') goto yy264; goto yy262; + } else { + if (yych <= ']') goto yy261; + if (yych <= '^') goto yy254; + if (yych <= '_') goto yy262; + goto yy261; } } else { if (yych <= '{') { - if (yych == 'e') goto yy265; - if (yych <= 'z') goto yy263; - goto yy262; + if (yych == 'e') goto yy264; + if (yych <= 'z') goto yy262; + goto yy261; } else { - if (yych == '}') goto yy262; - if (yych <= '~') goto yy255; - goto yy262; + if (yych == '}') goto yy261; + if (yych <= '~') goto yy254; + goto yy261; } } } -yy261: - YYDEBUG(261, *YYCURSOR); +yy260: + YYDEBUG(260, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy262: - YYDEBUG(262, *YYCURSOR); +yy261: + YYDEBUG(261, *YYCURSOR); if (yybm[0+yych] & 2) { - goto yy261; + goto yy260; } - if (yych == '$') goto yy266; - goto yy235; -yy263: - YYDEBUG(263, *YYCURSOR); + if (yych == '$') goto yy265; + goto yy234; +yy262: + YYDEBUG(262, *YYCURSOR); yyaccept = 4; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(264, *YYCURSOR); + YYDEBUG(263, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy263; + goto yy262; } if (yych <= ')') { if (yych <= '\r') { if (yych <= 0x08) { - if (yych <= 0x00) goto yy255; - goto yy261; + if (yych <= 0x00) goto yy254; + goto yy260; } else { - if (yych <= '\n') goto yy255; - if (yych <= '\f') goto yy261; - goto yy255; + if (yych <= '\n') goto yy254; + if (yych <= '\f') goto yy260; + goto yy254; } } else { if (yych <= '#') { - if (yych <= 0x1F) goto yy261; - if (yych <= '"') goto yy255; - goto yy261; + if (yych <= 0x1F) goto yy260; + if (yych <= '"') goto yy254; + goto yy260; } else { - if (yych <= '$') goto yy266; - if (yych <= '%') goto yy261; - goto yy255; + if (yych <= '$') goto yy265; + if (yych <= '%') goto yy260; + goto yy254; } } } else { if (yych <= ']') { if (yych <= ';') { - if (yych <= ':') goto yy261; - goto yy255; + if (yych <= ':') goto yy260; + goto yy254; } else { - if (yych == '=') goto yy255; - goto yy261; + if (yych == '=') goto yy254; + goto yy260; } } else { if (yych <= '|') { - if (yych <= '^') goto yy255; - if (yych <= '{') goto yy261; - goto yy255; + if (yych <= '^') goto yy254; + if (yych <= '{') goto yy260; + goto yy254; } else { - if (yych == '~') goto yy255; - goto yy261; + if (yych == '~') goto yy254; + goto yy260; } } } -yy265: - YYDEBUG(265, *YYCURSOR); +yy264: + YYDEBUG(264, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy255; - if (yych <= 0x08) goto yy262; - goto yy255; + if (yych <= 0x00) goto yy254; + if (yych <= 0x08) goto yy261; + goto yy254; } else { - if (yych == '\r') goto yy255; - if (yych <= 0x1F) goto yy262; - goto yy255; + if (yych == '\r') goto yy254; + if (yych <= 0x1F) goto yy261; + goto yy254; } } else { if (yych <= '9') { - if (yych <= '%') goto yy262; - if (yych <= ')') goto yy255; - if (yych <= '/') goto yy262; - goto yy263; + if (yych <= '%') goto yy261; + if (yych <= ')') goto yy254; + if (yych <= '/') goto yy261; + goto yy262; } else { - if (yych == ';') goto yy255; - if (yych <= '<') goto yy262; - goto yy255; + if (yych == ';') goto yy254; + if (yych <= '<') goto yy261; + goto yy254; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= '@') goto yy262; - if (yych == 'S') goto yy271; - goto yy263; - } else { - if (yych <= ']') goto yy262; - if (yych <= '^') goto yy255; - if (yych <= '_') goto yy263; + if (yych <= '@') goto yy261; + if (yych == 'S') goto yy270; goto yy262; + } else { + if (yych <= ']') goto yy261; + if (yych <= '^') goto yy254; + if (yych <= '_') goto yy262; + goto yy261; } } else { if (yych <= '{') { - if (yych == 's') goto yy271; - if (yych <= 'z') goto yy263; - goto yy262; + if (yych == 's') goto yy270; + if (yych <= 'z') goto yy262; + goto yy261; } else { - if (yych == '}') goto yy262; - if (yych <= '~') goto yy255; - goto yy262; + if (yych == '}') goto yy261; + if (yych <= '~') goto yy254; + goto yy261; } } } -yy266: - YYDEBUG(266, *YYCURSOR); +yy265: + YYDEBUG(265, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yych <= '\\') { - if (yych <= 0x00) goto yy267; - if (yych <= '[') goto yy261; - goto yy268; + if (yych <= 0x00) goto yy266; + if (yych <= '[') goto yy260; + goto yy267; } else { - if (yych != '{') goto yy261; + if (yych != '{') goto yy260; } -yy267: - YYDEBUG(267, *YYCURSOR); +yy266: + YYDEBUG(266, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 3) { if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy235; + if (yyaccept <= 0) { + goto yy234; } else { - goto yy237; + goto yy236; } } else { - if (yyaccept == 2) { - goto yy233; + if (yyaccept <= 2) { + goto yy232; } else { - goto yy250; + goto yy249; } } } else { if (yyaccept <= 5) { - if (yyaccept == 4) { - goto yy255; + if (yyaccept <= 4) { + goto yy254; } else { - goto yy272; + goto yy271; } } else { - if (yyaccept == 6) { - goto yy279; + if (yyaccept <= 6) { + goto yy278; } else { - goto yy286; + goto yy285; } } } -yy268: - YYDEBUG(268, *YYCURSOR); +yy267: + YYDEBUG(267, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 8) { - goto yy269; + goto yy268; } - goto yy261; -yy269: - YYDEBUG(269, *YYCURSOR); + goto yy260; +yy268: + YYDEBUG(268, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(270, *YYCURSOR); + YYDEBUG(269, *YYCURSOR); if (yybm[0+yych] & 8) { - goto yy269; + goto yy268; } - if (yych <= 0x00) goto yy235; - if (yych == '\\') goto yy268; - goto yy261; -yy271: - YYDEBUG(271, *YYCURSOR); + if (yych <= 0x00) goto yy234; + if (yych == '\\') goto yy267; + goto yy260; +yy270: + YYDEBUG(270, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { - goto yy273; + goto yy272; } if (yych <= ';') { if (yych <= ' ') { if (yych <= '\n') { - if (yych <= 0x00) goto yy272; - if (yych <= '\t') goto yy262; + if (yych <= 0x00) goto yy271; + if (yych <= '\t') goto yy261; } else { - if (yych != '\r') goto yy262; + if (yych != '\r') goto yy261; } } else { if (yych <= ')') { - if (yych <= '"') goto yy272; - if (yych <= '%') goto yy262; + if (yych <= '"') goto yy271; + if (yych <= '%') goto yy261; } else { - if (yych <= '/') goto yy262; - if (yych <= '9') goto yy263; - if (yych <= ':') goto yy262; + if (yych <= '/') goto yy261; + if (yych <= '9') goto yy262; + if (yych <= ':') goto yy261; } } } else { if (yych <= '_') { if (yych <= '@') { - if (yych != '=') goto yy262; + if (yych != '=') goto yy261; } else { - if (yych <= 'Z') goto yy263; - if (yych <= ']') goto yy262; - if (yych >= '_') goto yy263; + if (yych <= 'Z') goto yy262; + if (yych <= ']') goto yy261; + if (yych >= '_') goto yy262; } } else { if (yych <= '{') { - if (yych <= '`') goto yy262; - if (yych <= 'z') goto yy263; - goto yy262; + if (yych <= '`') goto yy261; + if (yych <= 'z') goto yy262; + goto yy261; } else { - if (yych == '}') goto yy262; - if (yych >= 0x7F) goto yy262; + if (yych == '}') goto yy261; + if (yych >= 0x7F) goto yy261; } } } -yy272: - YYDEBUG(272, *YYCURSOR); +yy271: + YYDEBUG(271, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 465 "Zend/zend_ini_scanner.l" { /* TRUE value (when used outside option value/offset this causes parse error!) */ RETURN_TOKEN(BOOL_TRUE, "1", 1); } -#line 3749 "Zend/zend_ini_scanner.c" -yy273: - YYDEBUG(273, *YYCURSOR); +#line 3750 "Zend/zend_ini_scanner.c" +yy272: + YYDEBUG(272, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(274, *YYCURSOR); + YYDEBUG(273, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy273; + goto yy272; } - goto yy272; -yy275: - YYDEBUG(275, *YYCURSOR); + goto yy271; +yy274: + YYDEBUG(274, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy255; - if (yych <= 0x08) goto yy262; - goto yy255; + if (yych <= 0x00) goto yy254; + if (yych <= 0x08) goto yy261; + goto yy254; } else { - if (yych == '\r') goto yy255; - if (yych <= 0x1F) goto yy262; - goto yy255; + if (yych == '\r') goto yy254; + if (yych <= 0x1F) goto yy261; + goto yy254; } } else { if (yych <= '9') { - if (yych <= '%') goto yy262; - if (yych <= ')') goto yy255; - if (yych <= '/') goto yy262; - goto yy263; + if (yych <= '%') goto yy261; + if (yych <= ')') goto yy254; + if (yych <= '/') goto yy261; + goto yy262; } else { - if (yych == ';') goto yy255; - if (yych <= '<') goto yy262; - goto yy255; + if (yych == ';') goto yy254; + if (yych <= '<') goto yy261; + goto yy254; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= '@') goto yy262; - if (yych != 'U') goto yy263; + if (yych <= '@') goto yy261; + if (yych != 'U') goto yy262; } else { - if (yych <= ']') goto yy262; - if (yych <= '^') goto yy255; - if (yych <= '_') goto yy263; - goto yy262; + if (yych <= ']') goto yy261; + if (yych <= '^') goto yy254; + if (yych <= '_') goto yy262; + goto yy261; } } else { if (yych <= '{') { - if (yych == 'u') goto yy276; - if (yych <= 'z') goto yy263; - goto yy262; + if (yych == 'u') goto yy275; + if (yych <= 'z') goto yy262; + goto yy261; } else { - if (yych == '}') goto yy262; - if (yych <= '~') goto yy255; - goto yy262; + if (yych == '}') goto yy261; + if (yych <= '~') goto yy254; + goto yy261; } } } -yy276: - YYDEBUG(276, *YYCURSOR); +yy275: + YYDEBUG(275, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy255; - if (yych <= 0x08) goto yy262; - goto yy255; + if (yych <= 0x00) goto yy254; + if (yych <= 0x08) goto yy261; + goto yy254; } else { - if (yych == '\r') goto yy255; - if (yych <= 0x1F) goto yy262; - goto yy255; + if (yych == '\r') goto yy254; + if (yych <= 0x1F) goto yy261; + goto yy254; } } else { if (yych <= '9') { - if (yych <= '%') goto yy262; - if (yych <= ')') goto yy255; - if (yych <= '/') goto yy262; - goto yy263; + if (yych <= '%') goto yy261; + if (yych <= ')') goto yy254; + if (yych <= '/') goto yy261; + goto yy262; } else { - if (yych == ';') goto yy255; - if (yych <= '<') goto yy262; - goto yy255; + if (yych == ';') goto yy254; + if (yych <= '<') goto yy261; + goto yy254; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= '@') goto yy262; - if (yych == 'E') goto yy271; - goto yy263; - } else { - if (yych <= ']') goto yy262; - if (yych <= '^') goto yy255; - if (yych <= '_') goto yy263; + if (yych <= '@') goto yy261; + if (yych == 'E') goto yy270; goto yy262; + } else { + if (yych <= ']') goto yy261; + if (yych <= '^') goto yy254; + if (yych <= '_') goto yy262; + goto yy261; } } else { if (yych <= '{') { - if (yych == 'e') goto yy271; - if (yych <= 'z') goto yy263; - goto yy262; + if (yych == 'e') goto yy270; + if (yych <= 'z') goto yy262; + goto yy261; } else { - if (yych == '}') goto yy262; - if (yych <= '~') goto yy255; - goto yy262; + if (yych == '}') goto yy261; + if (yych <= '~') goto yy254; + goto yy261; } } } -yy277: - YYDEBUG(277, *YYCURSOR); +yy276: + YYDEBUG(276, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy255; - if (yych <= 0x08) goto yy262; - goto yy255; + if (yych <= 0x00) goto yy254; + if (yych <= 0x08) goto yy261; + goto yy254; } else { - if (yych == '\r') goto yy255; - if (yych <= 0x1F) goto yy262; - goto yy255; + if (yych == '\r') goto yy254; + if (yych <= 0x1F) goto yy261; + goto yy254; } } else { if (yych <= '9') { - if (yych <= '%') goto yy262; - if (yych <= ')') goto yy255; - if (yych <= '/') goto yy262; - goto yy263; + if (yych <= '%') goto yy261; + if (yych <= ')') goto yy254; + if (yych <= '/') goto yy261; + goto yy262; } else { - if (yych == ';') goto yy255; - if (yych <= '<') goto yy262; - goto yy255; + if (yych == ';') goto yy254; + if (yych <= '<') goto yy261; + goto yy254; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= '@') goto yy262; - if (yych != 'F') goto yy263; + if (yych <= '@') goto yy261; + if (yych != 'F') goto yy262; } else { - if (yych <= ']') goto yy262; - if (yych <= '^') goto yy255; - if (yych <= '_') goto yy263; - goto yy262; + if (yych <= ']') goto yy261; + if (yych <= '^') goto yy254; + if (yych <= '_') goto yy262; + goto yy261; } } else { if (yych <= '{') { - if (yych == 'f') goto yy278; - if (yych <= 'z') goto yy263; - goto yy262; + if (yych == 'f') goto yy277; + if (yych <= 'z') goto yy262; + goto yy261; } else { - if (yych == '}') goto yy262; - if (yych <= '~') goto yy255; - goto yy262; + if (yych == '}') goto yy261; + if (yych <= '~') goto yy254; + goto yy261; } } } -yy278: - YYDEBUG(278, *YYCURSOR); +yy277: + YYDEBUG(277, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { - goto yy263; + goto yy262; } if (yych <= ')') { if (yych <= '\f') { if (yych <= 0x08) { - if (yych >= 0x01) goto yy262; + if (yych >= 0x01) goto yy261; } else { - if (yych <= '\t') goto yy280; - if (yych >= '\v') goto yy262; + if (yych <= '\t') goto yy279; + if (yych >= '\v') goto yy261; } } else { if (yych <= ' ') { - if (yych <= '\r') goto yy279; - if (yych <= 0x1F) goto yy262; - goto yy280; + if (yych <= '\r') goto yy278; + if (yych <= 0x1F) goto yy261; + goto yy279; } else { - if (yych <= '"') goto yy279; - if (yych <= '%') goto yy262; + if (yych <= '"') goto yy278; + if (yych <= '%') goto yy261; } } } else { if (yych <= ']') { if (yych <= ';') { - if (yych <= ':') goto yy262; + if (yych <= ':') goto yy261; } else { - if (yych != '=') goto yy262; + if (yych != '=') goto yy261; } } else { if (yych <= '|') { - if (yych <= '^') goto yy279; - if (yych <= '{') goto yy262; + if (yych <= '^') goto yy278; + if (yych <= '{') goto yy261; } else { - if (yych != '~') goto yy262; + if (yych != '~') goto yy261; } } } -yy279: - YYDEBUG(279, *YYCURSOR); +yy278: + YYDEBUG(278, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 469 "Zend/zend_ini_scanner.l" { /* FALSE value (when used outside option value/offset this causes parse error!)*/ RETURN_TOKEN(BOOL_FALSE, "", 0); } -#line 3959 "Zend/zend_ini_scanner.c" -yy280: - YYDEBUG(280, *YYCURSOR); +#line 3960 "Zend/zend_ini_scanner.c" +yy279: + YYDEBUG(279, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; + YYDEBUG(280, *YYCURSOR); + if (yych == '\t') goto yy279; + if (yych == ' ') goto yy279; + goto yy278; +yy281: YYDEBUG(281, *YYCURSOR); - if (yych == '\t') goto yy280; - if (yych == ' ') goto yy280; - goto yy279; -yy282: - YYDEBUG(282, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '<') { if (yych <= ' ') { if (yych <= '\n') { - if (yych <= 0x00) goto yy279; - if (yych <= 0x08) goto yy262; - if (yych <= '\t') goto yy280; - goto yy279; + if (yych <= 0x00) goto yy278; + if (yych <= 0x08) goto yy261; + if (yych <= '\t') goto yy279; + goto yy278; } else { - if (yych == '\r') goto yy279; - if (yych <= 0x1F) goto yy262; - goto yy280; + if (yych == '\r') goto yy278; + if (yych <= 0x1F) goto yy261; + goto yy279; } } else { if (yych <= '/') { - if (yych <= '"') goto yy279; - if (yych <= '%') goto yy262; - if (yych <= ')') goto yy279; - goto yy262; + if (yych <= '"') goto yy278; + if (yych <= '%') goto yy261; + if (yych <= ')') goto yy278; + goto yy261; } else { - if (yych <= '9') goto yy263; - if (yych == ';') goto yy279; - goto yy262; + if (yych <= '9') goto yy262; + if (yych == ';') goto yy278; + goto yy261; } } } else { if (yych <= '_') { if (yych <= 'N') { - if (yych <= '=') goto yy279; - if (yych <= '@') goto yy262; - if (yych <= 'M') goto yy263; - goto yy289; - } else { - if (yych <= 'Z') goto yy263; - if (yych <= ']') goto yy262; - if (yych <= '^') goto yy279; - goto yy263; + if (yych <= '=') goto yy278; + if (yych <= '@') goto yy261; + if (yych <= 'M') goto yy262; + goto yy288; + } else { + if (yych <= 'Z') goto yy262; + if (yych <= ']') goto yy261; + if (yych <= '^') goto yy278; + goto yy262; } } else { if (yych <= 'z') { - if (yych <= '`') goto yy262; - if (yych == 'n') goto yy289; - goto yy263; + if (yych <= '`') goto yy261; + if (yych == 'n') goto yy288; + goto yy262; } else { if (yych <= '|') { - if (yych <= '{') goto yy262; - goto yy279; + if (yych <= '{') goto yy261; + goto yy278; } else { - if (yych == '~') goto yy279; - goto yy262; + if (yych == '~') goto yy278; + goto yy261; } } } } -yy283: - YYDEBUG(283, *YYCURSOR); +yy282: + YYDEBUG(282, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy255; - if (yych <= 0x08) goto yy262; - goto yy255; + if (yych <= 0x00) goto yy254; + if (yych <= 0x08) goto yy261; + goto yy254; } else { - if (yych == '\r') goto yy255; - if (yych <= 0x1F) goto yy262; - goto yy255; + if (yych == '\r') goto yy254; + if (yych <= 0x1F) goto yy261; + goto yy254; } } else { if (yych <= '9') { - if (yych <= '%') goto yy262; - if (yych <= ')') goto yy255; - if (yych <= '/') goto yy262; - goto yy263; + if (yych <= '%') goto yy261; + if (yych <= ')') goto yy254; + if (yych <= '/') goto yy261; + goto yy262; } else { - if (yych == ';') goto yy255; - if (yych <= '<') goto yy262; - goto yy255; + if (yych == ';') goto yy254; + if (yych <= '<') goto yy261; + goto yy254; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= '@') goto yy262; - if (yych != 'L') goto yy263; + if (yych <= '@') goto yy261; + if (yych != 'L') goto yy262; } else { - if (yych <= ']') goto yy262; - if (yych <= '^') goto yy255; - if (yych <= '_') goto yy263; - goto yy262; + if (yych <= ']') goto yy261; + if (yych <= '^') goto yy254; + if (yych <= '_') goto yy262; + goto yy261; } } else { if (yych <= '{') { - if (yych == 'l') goto yy284; - if (yych <= 'z') goto yy263; - goto yy262; + if (yych == 'l') goto yy283; + if (yych <= 'z') goto yy262; + goto yy261; } else { - if (yych == '}') goto yy262; - if (yych <= '~') goto yy255; - goto yy262; + if (yych == '}') goto yy261; + if (yych <= '~') goto yy254; + goto yy261; } } } -yy284: - YYDEBUG(284, *YYCURSOR); +yy283: + YYDEBUG(283, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy255; - if (yych <= 0x08) goto yy262; - goto yy255; + if (yych <= 0x00) goto yy254; + if (yych <= 0x08) goto yy261; + goto yy254; } else { - if (yych == '\r') goto yy255; - if (yych <= 0x1F) goto yy262; - goto yy255; + if (yych == '\r') goto yy254; + if (yych <= 0x1F) goto yy261; + goto yy254; } } else { if (yych <= '9') { - if (yych <= '%') goto yy262; - if (yych <= ')') goto yy255; - if (yych <= '/') goto yy262; - goto yy263; + if (yych <= '%') goto yy261; + if (yych <= ')') goto yy254; + if (yych <= '/') goto yy261; + goto yy262; } else { - if (yych == ';') goto yy255; - if (yych <= '<') goto yy262; - goto yy255; + if (yych == ';') goto yy254; + if (yych <= '<') goto yy261; + goto yy254; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= '@') goto yy262; - if (yych != 'L') goto yy263; + if (yych <= '@') goto yy261; + if (yych != 'L') goto yy262; } else { - if (yych <= ']') goto yy262; - if (yych <= '^') goto yy255; - if (yych <= '_') goto yy263; - goto yy262; + if (yych <= ']') goto yy261; + if (yych <= '^') goto yy254; + if (yych <= '_') goto yy262; + goto yy261; } } else { if (yych <= '{') { - if (yych == 'l') goto yy285; - if (yych <= 'z') goto yy263; - goto yy262; + if (yych == 'l') goto yy284; + if (yych <= 'z') goto yy262; + goto yy261; } else { - if (yych == '}') goto yy262; - if (yych <= '~') goto yy255; - goto yy262; + if (yych == '}') goto yy261; + if (yych <= '~') goto yy254; + goto yy261; } } } -yy285: - YYDEBUG(285, *YYCURSOR); +yy284: + YYDEBUG(284, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { - goto yy263; + goto yy262; } if (yych <= ')') { if (yych <= '\f') { if (yych <= 0x08) { - if (yych >= 0x01) goto yy262; + if (yych >= 0x01) goto yy261; } else { - if (yych <= '\t') goto yy287; - if (yych >= '\v') goto yy262; + if (yych <= '\t') goto yy286; + if (yych >= '\v') goto yy261; } } else { if (yych <= ' ') { - if (yych <= '\r') goto yy286; - if (yych <= 0x1F) goto yy262; - goto yy287; + if (yych <= '\r') goto yy285; + if (yych <= 0x1F) goto yy261; + goto yy286; } else { - if (yych <= '"') goto yy286; - if (yych <= '%') goto yy262; + if (yych <= '"') goto yy285; + if (yych <= '%') goto yy261; } } } else { if (yych <= ']') { if (yych <= ';') { - if (yych <= ':') goto yy262; + if (yych <= ':') goto yy261; } else { - if (yych != '=') goto yy262; + if (yych != '=') goto yy261; } } else { if (yych <= '|') { - if (yych <= '^') goto yy286; - if (yych <= '{') goto yy262; + if (yych <= '^') goto yy285; + if (yych <= '{') goto yy261; } else { - if (yych != '~') goto yy262; + if (yych != '~') goto yy261; } } } -yy286: - YYDEBUG(286, *YYCURSOR); +yy285: + YYDEBUG(285, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 473 "Zend/zend_ini_scanner.l" { RETURN_TOKEN(NULL_NULL, "", 0); } -#line 4174 "Zend/zend_ini_scanner.c" -yy287: - YYDEBUG(287, *YYCURSOR); +#line 4175 "Zend/zend_ini_scanner.c" +yy286: + YYDEBUG(286, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; + YYDEBUG(287, *YYCURSOR); + if (yych == '\t') goto yy286; + if (yych == ' ') goto yy286; + goto yy285; +yy288: YYDEBUG(288, *YYCURSOR); - if (yych == '\t') goto yy287; - if (yych == ' ') goto yy287; - goto yy286; -yy289: - YYDEBUG(289, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy255; - if (yych <= 0x08) goto yy262; - goto yy255; + if (yych <= 0x00) goto yy254; + if (yych <= 0x08) goto yy261; + goto yy254; } else { - if (yych == '\r') goto yy255; - if (yych <= 0x1F) goto yy262; - goto yy255; + if (yych == '\r') goto yy254; + if (yych <= 0x1F) goto yy261; + goto yy254; } } else { if (yych <= '9') { - if (yych <= '%') goto yy262; - if (yych <= ')') goto yy255; - if (yych <= '/') goto yy262; - goto yy263; + if (yych <= '%') goto yy261; + if (yych <= ')') goto yy254; + if (yych <= '/') goto yy261; + goto yy262; } else { - if (yych == ';') goto yy255; - if (yych <= '<') goto yy262; - goto yy255; + if (yych == ';') goto yy254; + if (yych <= '<') goto yy261; + goto yy254; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= '@') goto yy262; - if (yych == 'E') goto yy278; - goto yy263; - } else { - if (yych <= ']') goto yy262; - if (yych <= '^') goto yy255; - if (yych <= '_') goto yy263; + if (yych <= '@') goto yy261; + if (yych == 'E') goto yy277; goto yy262; + } else { + if (yych <= ']') goto yy261; + if (yych <= '^') goto yy254; + if (yych <= '_') goto yy262; + goto yy261; } } else { if (yych <= '{') { - if (yych == 'e') goto yy278; - if (yych <= 'z') goto yy263; - goto yy262; + if (yych == 'e') goto yy277; + if (yych <= 'z') goto yy262; + goto yy261; } else { - if (yych == '}') goto yy262; - if (yych <= '~') goto yy255; - goto yy262; + if (yych == '}') goto yy261; + if (yych <= '~') goto yy254; + goto yy261; } } } -yy290: - YYDEBUG(290, *YYCURSOR); +yy289: + YYDEBUG(289, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy255; - if (yych <= 0x08) goto yy262; - goto yy255; + if (yych <= 0x00) goto yy254; + if (yych <= 0x08) goto yy261; + goto yy254; } else { - if (yych == '\r') goto yy255; - if (yych <= 0x1F) goto yy262; - goto yy255; + if (yych == '\r') goto yy254; + if (yych <= 0x1F) goto yy261; + goto yy254; } } else { if (yych <= '9') { - if (yych <= '%') goto yy262; - if (yych <= ')') goto yy255; - if (yych <= '/') goto yy262; - goto yy263; + if (yych <= '%') goto yy261; + if (yych <= ')') goto yy254; + if (yych <= '/') goto yy261; + goto yy262; } else { - if (yych == ';') goto yy255; - if (yych <= '<') goto yy262; - goto yy255; + if (yych == ';') goto yy254; + if (yych <= '<') goto yy261; + goto yy254; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= '@') goto yy262; - if (yych != 'L') goto yy263; + if (yych <= '@') goto yy261; + if (yych != 'L') goto yy262; } else { - if (yych <= ']') goto yy262; - if (yych <= '^') goto yy255; - if (yych <= '_') goto yy263; - goto yy262; + if (yych <= ']') goto yy261; + if (yych <= '^') goto yy254; + if (yych <= '_') goto yy262; + goto yy261; } } else { if (yych <= '{') { - if (yych == 'l') goto yy291; - if (yych <= 'z') goto yy263; - goto yy262; + if (yych == 'l') goto yy290; + if (yych <= 'z') goto yy262; + goto yy261; } else { - if (yych == '}') goto yy262; - if (yych <= '~') goto yy255; - goto yy262; + if (yych == '}') goto yy261; + if (yych <= '~') goto yy254; + goto yy261; } } } -yy291: - YYDEBUG(291, *YYCURSOR); +yy290: + YYDEBUG(290, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy255; - if (yych <= 0x08) goto yy262; - goto yy255; + if (yych <= 0x00) goto yy254; + if (yych <= 0x08) goto yy261; + goto yy254; } else { - if (yych == '\r') goto yy255; - if (yych <= 0x1F) goto yy262; - goto yy255; + if (yych == '\r') goto yy254; + if (yych <= 0x1F) goto yy261; + goto yy254; } } else { if (yych <= '9') { - if (yych <= '%') goto yy262; - if (yych <= ')') goto yy255; - if (yych <= '/') goto yy262; - goto yy263; + if (yych <= '%') goto yy261; + if (yych <= ')') goto yy254; + if (yych <= '/') goto yy261; + goto yy262; } else { - if (yych == ';') goto yy255; - if (yych <= '<') goto yy262; - goto yy255; + if (yych == ';') goto yy254; + if (yych <= '<') goto yy261; + goto yy254; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= '@') goto yy262; - if (yych != 'S') goto yy263; + if (yych <= '@') goto yy261; + if (yych != 'S') goto yy262; } else { - if (yych <= ']') goto yy262; - if (yych <= '^') goto yy255; - if (yych <= '_') goto yy263; - goto yy262; + if (yych <= ']') goto yy261; + if (yych <= '^') goto yy254; + if (yych <= '_') goto yy262; + goto yy261; } } else { if (yych <= '{') { - if (yych == 's') goto yy292; - if (yych <= 'z') goto yy263; - goto yy262; + if (yych == 's') goto yy291; + if (yych <= 'z') goto yy262; + goto yy261; } else { - if (yych == '}') goto yy262; - if (yych <= '~') goto yy255; - goto yy262; + if (yych == '}') goto yy261; + if (yych <= '~') goto yy254; + goto yy261; } } } -yy292: - YYDEBUG(292, *YYCURSOR); +yy291: + YYDEBUG(291, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy255; - if (yych <= 0x08) goto yy262; - goto yy255; + if (yych <= 0x00) goto yy254; + if (yych <= 0x08) goto yy261; + goto yy254; } else { - if (yych == '\r') goto yy255; - if (yych <= 0x1F) goto yy262; - goto yy255; + if (yych == '\r') goto yy254; + if (yych <= 0x1F) goto yy261; + goto yy254; } } else { if (yych <= '9') { - if (yych <= '%') goto yy262; - if (yych <= ')') goto yy255; - if (yych <= '/') goto yy262; - goto yy263; + if (yych <= '%') goto yy261; + if (yych <= ')') goto yy254; + if (yych <= '/') goto yy261; + goto yy262; } else { - if (yych == ';') goto yy255; - if (yych <= '<') goto yy262; - goto yy255; + if (yych == ';') goto yy254; + if (yych <= '<') goto yy261; + goto yy254; } } } else { if (yych <= '`') { if (yych <= 'Z') { - if (yych <= '@') goto yy262; - if (yych == 'E') goto yy278; - goto yy263; - } else { - if (yych <= ']') goto yy262; - if (yych <= '^') goto yy255; - if (yych <= '_') goto yy263; + if (yych <= '@') goto yy261; + if (yych == 'E') goto yy277; goto yy262; + } else { + if (yych <= ']') goto yy261; + if (yych <= '^') goto yy254; + if (yych <= '_') goto yy262; + goto yy261; } } else { if (yych <= '{') { - if (yych == 'e') goto yy278; - if (yych <= 'z') goto yy263; - goto yy262; + if (yych == 'e') goto yy277; + if (yych <= 'z') goto yy262; + goto yy261; } else { - if (yych == '}') goto yy262; - if (yych <= '~') goto yy255; - goto yy262; + if (yych == '}') goto yy261; + if (yych <= '~') goto yy254; + goto yy261; } } } -yy293: - YYDEBUG(293, *YYCURSOR); +yy292: + YYDEBUG(292, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; -yy294: - YYDEBUG(294, *YYCURSOR); +yy293: + YYDEBUG(293, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy293; + goto yy292; } - if (yych >= '\r') goto yy297; + if (yych >= '\r') goto yy296; +yy294: + YYDEBUG(294, *YYCURSOR); + ++YYCURSOR; yy295: YYDEBUG(295, *YYCURSOR); - ++YYCURSOR; -yy296: - YYDEBUG(296, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 633 "Zend/zend_ini_scanner.l" { /* Comment */ @@ -4405,223 +4406,223 @@ yy296: SCNG(lineno)++; return END_OF_LINE; } -#line 4409 "Zend/zend_ini_scanner.c" +#line 4410 "Zend/zend_ini_scanner.c" +yy296: + YYDEBUG(296, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy294; + goto yy295; yy297: YYDEBUG(297, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy295; - goto yy296; -yy298: - YYDEBUG(298, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(299, *YYCURSOR); + YYDEBUG(298, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy298; + goto yy297; } if (yych <= ')') { if (yych <= '\r') { if (yych <= 0x08) { - if (yych <= 0x00) goto yy250; - goto yy261; + if (yych <= 0x00) goto yy249; + goto yy260; } else { - if (yych <= '\n') goto yy250; - if (yych <= '\f') goto yy261; - goto yy250; + if (yych <= '\n') goto yy249; + if (yych <= '\f') goto yy260; + goto yy249; } } else { if (yych <= '#') { - if (yych <= 0x1F) goto yy261; - if (yych <= '"') goto yy250; - goto yy261; + if (yych <= 0x1F) goto yy260; + if (yych <= '"') goto yy249; + goto yy260; } else { - if (yych <= '$') goto yy266; - if (yych <= '%') goto yy261; - goto yy250; + if (yych <= '$') goto yy265; + if (yych <= '%') goto yy260; + goto yy249; } } } else { if (yych <= ']') { if (yych <= ';') { - if (yych <= ':') goto yy261; - goto yy250; + if (yych <= ':') goto yy260; + goto yy249; } else { - if (yych == '=') goto yy250; - goto yy261; + if (yych == '=') goto yy249; + goto yy260; } } else { if (yych <= '|') { - if (yych <= '^') goto yy250; - if (yych <= '{') goto yy261; - goto yy250; + if (yych <= '^') goto yy249; + if (yych <= '{') goto yy260; + goto yy249; } else { - if (yych == '~') goto yy250; - goto yy261; + if (yych == '~') goto yy249; + goto yy260; } } } -yy300: - YYDEBUG(300, *YYCURSOR); +yy299: + YYDEBUG(299, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(301, *YYCURSOR); + YYDEBUG(300, *YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x00) goto yy250; - if (yych <= 0x08) goto yy261; - goto yy250; + if (yych <= 0x00) goto yy249; + if (yych <= 0x08) goto yy260; + goto yy249; } else { - if (yych == '\r') goto yy250; - goto yy261; + if (yych == '\r') goto yy249; + goto yy260; } } else { if (yych <= '$') { - if (yych <= '"') goto yy250; - if (yych <= '#') goto yy261; - goto yy266; + if (yych <= '"') goto yy249; + if (yych <= '#') goto yy260; + goto yy265; } else { - if (yych <= '%') goto yy261; - if (yych <= ')') goto yy250; - if (yych <= '-') goto yy261; - goto yy298; + if (yych <= '%') goto yy260; + if (yych <= ')') goto yy249; + if (yych <= '-') goto yy260; + goto yy297; } } } else { if (yych <= '=') { if (yych <= ':') { - if (yych <= '/') goto yy261; - if (yych <= '9') goto yy300; - goto yy261; + if (yych <= '/') goto yy260; + if (yych <= '9') goto yy299; + goto yy260; } else { - if (yych == '<') goto yy261; - goto yy250; + if (yych == '<') goto yy260; + goto yy249; } } else { if (yych <= '{') { - if (yych == '^') goto yy250; - goto yy261; + if (yych == '^') goto yy249; + goto yy260; } else { - if (yych == '}') goto yy261; - if (yych <= '~') goto yy250; - goto yy261; + if (yych == '}') goto yy260; + if (yych <= '~') goto yy249; + goto yy260; } } } -yy302: - YYDEBUG(302, *YYCURSOR); +yy301: + YYDEBUG(301, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(303, *YYCURSOR); + YYDEBUG(302, *YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x00) goto yy250; - if (yych <= 0x08) goto yy261; - goto yy250; + if (yych <= 0x00) goto yy249; + if (yych <= 0x08) goto yy260; + goto yy249; } else { - if (yych == '\r') goto yy250; - goto yy261; + if (yych == '\r') goto yy249; + goto yy260; } } else { if (yych <= '$') { - if (yych <= '"') goto yy250; - if (yych <= '#') goto yy261; - goto yy266; + if (yych <= '"') goto yy249; + if (yych <= '#') goto yy260; + goto yy265; } else { - if (yych <= '%') goto yy261; - if (yych <= ')') goto yy250; - goto yy261; + if (yych <= '%') goto yy260; + if (yych <= ')') goto yy249; + goto yy260; } } } else { if (yych <= ']') { if (yych <= ';') { - if (yych <= '9') goto yy302; - if (yych <= ':') goto yy261; - goto yy250; + if (yych <= '9') goto yy301; + if (yych <= ':') goto yy260; + goto yy249; } else { - if (yych == '=') goto yy250; - goto yy261; + if (yych == '=') goto yy249; + goto yy260; } } else { if (yych <= '|') { - if (yych <= '^') goto yy250; - if (yych <= '{') goto yy261; - goto yy250; + if (yych <= '^') goto yy249; + if (yych <= '{') goto yy260; + goto yy249; } else { - if (yych == '~') goto yy250; - goto yy261; + if (yych == '~') goto yy249; + goto yy260; } } } -yy304: - YYDEBUG(304, *YYCURSOR); +yy303: + YYDEBUG(303, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(305, *YYCURSOR); + YYDEBUG(304, *YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x00) goto yy250; - if (yych <= 0x08) goto yy261; - goto yy250; + if (yych <= 0x00) goto yy249; + if (yych <= 0x08) goto yy260; + goto yy249; } else { - if (yych == '\r') goto yy250; - goto yy261; + if (yych == '\r') goto yy249; + goto yy260; } } else { if (yych <= '$') { - if (yych <= '"') goto yy250; - if (yych <= '#') goto yy261; - goto yy266; + if (yych <= '"') goto yy249; + if (yych <= '#') goto yy260; + goto yy265; } else { - if (yych <= '%') goto yy261; - if (yych <= ')') goto yy250; - goto yy261; + if (yych <= '%') goto yy260; + if (yych <= ')') goto yy249; + goto yy260; } } } else { if (yych <= ']') { if (yych <= ';') { - if (yych <= '9') goto yy304; - if (yych <= ':') goto yy261; - goto yy250; + if (yych <= '9') goto yy303; + if (yych <= ':') goto yy260; + goto yy249; } else { - if (yych == '=') goto yy250; - goto yy261; + if (yych == '=') goto yy249; + goto yy260; } } else { if (yych <= '|') { - if (yych <= '^') goto yy250; - if (yych <= '{') goto yy261; - goto yy250; + if (yych <= '^') goto yy249; + if (yych <= '{') goto yy260; + goto yy249; } else { - if (yych == '~') goto yy250; - goto yy261; + if (yych == '~') goto yy249; + goto yy260; } } } -yy306: - YYDEBUG(306, *YYCURSOR); +yy305: + YYDEBUG(305, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(307, *YYCURSOR); + YYDEBUG(306, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy306; + goto yy305; } - YYDEBUG(308, *YYCURSOR); + YYDEBUG(307, *YYCURSOR); ++YYCURSOR; - YYDEBUG(309, *YYCURSOR); + YYDEBUG(308, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 412 "Zend/zend_ini_scanner.l" { /* Raw string */ @@ -4632,66 +4633,66 @@ yy306: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 4636 "Zend/zend_ini_scanner.c" -yy310: - YYDEBUG(310, *YYCURSOR); +#line 4637 "Zend/zend_ini_scanner.c" +yy309: + YYDEBUG(309, *YYCURSOR); ++YYCURSOR; - YYDEBUG(311, *YYCURSOR); + YYDEBUG(310, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 445 "Zend/zend_ini_scanner.l" { /* Variable start */ yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 4647 "Zend/zend_ini_scanner.c" -yy312: - YYDEBUG(312, *YYCURSOR); +#line 4648 "Zend/zend_ini_scanner.c" +yy311: + YYDEBUG(311, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; +yy312: + YYDEBUG(312, *YYCURSOR); + if (yych == '\t') goto yy311; + if (yych == ' ') goto yy311; + goto yy241; yy313: YYDEBUG(313, *YYCURSOR); - if (yych == '\t') goto yy312; - if (yych == ' ') goto yy312; - goto yy242; + yych = *++YYCURSOR; + goto yy238; yy314: YYDEBUG(314, *YYCURSOR); - yych = *++YYCURSOR; - goto yy239; -yy315: - YYDEBUG(315, *YYCURSOR); yyaccept = 1; YYMARKER = ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; -yy316: - YYDEBUG(316, *YYCURSOR); +yy315: + YYDEBUG(315, *YYCURSOR); if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x08) goto yy237; - if (yych <= '\t') goto yy315; - goto yy314; + if (yych <= 0x08) goto yy236; + if (yych <= '\t') goto yy314; + goto yy313; } else { - if (yych == '\r') goto yy318; - goto yy237; + if (yych == '\r') goto yy317; + goto yy236; } } else { if (yych <= '"') { - if (yych <= ' ') goto yy315; - if (yych <= '!') goto yy237; + if (yych <= ' ') goto yy314; + if (yych <= '!') goto yy236; } else { - if (yych == ';') goto yy293; - goto yy237; + if (yych == ';') goto yy292; + goto yy236; } } - YYDEBUG(317, *YYCURSOR); + YYDEBUG(316, *YYCURSOR); yych = *++YYCURSOR; - goto yy244; -yy318: - YYDEBUG(318, *YYCURSOR); + goto yy243; +yy317: + YYDEBUG(317, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy314; - goto yy239; + if ((yych = *YYCURSOR) == '\n') goto yy313; + goto yy238; } /* *********************************** */ yyc_ST_VARNAME: @@ -4730,49 +4731,49 @@ yyc_ST_VARNAME: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(319, *YYCURSOR); + YYDEBUG(318, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= ')') { if (yych <= '"') { if (yych <= '\f') { - if (yych <= 0x08) goto yy321; - if (yych <= '\n') goto yy323; + if (yych <= 0x08) goto yy320; + if (yych <= '\n') goto yy322; } else { - if (yych <= '\r') goto yy323; - if (yych >= '!') goto yy323; + if (yych <= '\r') goto yy322; + if (yych >= '!') goto yy322; } } else { if (yych <= '%') { - if (yych == '$') goto yy323; + if (yych == '$') goto yy322; } else { - if (yych != '\'') goto yy323; + if (yych != '\'') goto yy322; } } } else { if (yych <= '[') { if (yych <= '<') { - if (yych == ';') goto yy323; + if (yych == ';') goto yy322; } else { - if (yych <= '=') goto yy323; - if (yych >= '[') goto yy323; + if (yych <= '=') goto yy322; + if (yych >= '[') goto yy322; } } else { if (yych <= 'z') { - if (yych == '^') goto yy323; + if (yych == '^') goto yy322; } else { - if (yych == '}') goto yy325; - if (yych <= '~') goto yy323; + if (yych == '}') goto yy324; + if (yych <= '~') goto yy322; } } } -yy321: - YYDEBUG(321, *YYCURSOR); +yy320: + YYDEBUG(320, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy328; -yy322: - YYDEBUG(322, *YYCURSOR); + goto yy327; +yy321: + YYDEBUG(321, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 450 "Zend/zend_ini_scanner.l" { /* Variable name */ @@ -4784,39 +4785,39 @@ yy322: RETURN_TOKEN(TC_VARNAME, yytext, yyleng); } -#line 4788 "Zend/zend_ini_scanner.c" -yy323: - YYDEBUG(323, *YYCURSOR); +#line 4789 "Zend/zend_ini_scanner.c" +yy322: + YYDEBUG(322, *YYCURSOR); ++YYCURSOR; - YYDEBUG(324, *YYCURSOR); + YYDEBUG(323, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 651 "Zend/zend_ini_scanner.l" { return 0; } -#line 4798 "Zend/zend_ini_scanner.c" -yy325: - YYDEBUG(325, *YYCURSOR); +#line 4799 "Zend/zend_ini_scanner.c" +yy324: + YYDEBUG(324, *YYCURSOR); ++YYCURSOR; - YYDEBUG(326, *YYCURSOR); + YYDEBUG(325, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 460 "Zend/zend_ini_scanner.l" { /* Variable end */ yy_pop_state(TSRMLS_C); return '}'; } -#line 4809 "Zend/zend_ini_scanner.c" -yy327: - YYDEBUG(327, *YYCURSOR); +#line 4810 "Zend/zend_ini_scanner.c" +yy326: + YYDEBUG(326, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy328: - YYDEBUG(328, *YYCURSOR); +yy327: + YYDEBUG(327, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy327; + goto yy326; } - goto yy322; + goto yy321; } } #line 655 "Zend/zend_ini_scanner.l" diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 230c84194e..72f9d3bd04 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -5071,15 +5071,17 @@ ZEND_VM_HANDLER(57, ZEND_BEGIN_SILENCE, ANY, ANY) } if (EXPECTED(zend_hash_str_add_ptr(EG(modified_ini_directives), "error_reporting", sizeof("error_reporting")-1, EG(error_reporting_ini_entry)) != NULL)) { EG(error_reporting_ini_entry)->orig_value = EG(error_reporting_ini_entry)->value; - EG(error_reporting_ini_entry)->orig_value_length = EG(error_reporting_ini_entry)->value_length; EG(error_reporting_ini_entry)->orig_modifiable = EG(error_reporting_ini_entry)->modifiable; EG(error_reporting_ini_entry)->modified = 1; } } else if (EG(error_reporting_ini_entry)->value != EG(error_reporting_ini_entry)->orig_value) { - efree(EG(error_reporting_ini_entry)->value); + zend_string_release(EG(error_reporting_ini_entry)->value); + } + if (CG(one_char_string)['0']) { + EG(error_reporting_ini_entry)->value = CG(one_char_string)['0']; + } else { + EG(error_reporting_ini_entry)->value = zend_string_init("0", sizeof("0")-1, 0); } - EG(error_reporting_ini_entry)->value = estrndup("0", sizeof("0")-1); - EG(error_reporting_ini_entry)->value_length = sizeof("0")-1; } while (0); } CHECK_EXCEPTION(); @@ -5106,10 +5108,9 @@ ZEND_VM_HANDLER(58, ZEND_END_SILENCE, TMP, ANY) if (EXPECTED(EG(error_reporting_ini_entry) != NULL)) { if (EXPECTED(EG(error_reporting_ini_entry)->modified && EG(error_reporting_ini_entry)->value != EG(error_reporting_ini_entry)->orig_value)) { - efree(EG(error_reporting_ini_entry)->value); + zend_string_release(EG(error_reporting_ini_entry)->value); } - EG(error_reporting_ini_entry)->value_length = buf + sizeof(buf) - 1 - res; - EG(error_reporting_ini_entry)->value = estrndup(res, EG(error_reporting_ini_entry)->value_length); + EG(error_reporting_ini_entry)->value = zend_string_init(res, buf + sizeof(buf) - 1 - res, 0); } } //??? if (EX(old_error_reporting) == EX_VAR(opline->op1.var)) { @@ -5478,7 +5479,7 @@ ZEND_VM_HANDLER(149, ZEND_HANDLE_EXCEPTION, ANY, ANY) ZVAL_LONG(&restored_error_reporting, Z_LVAL(EX(old_error_reporting))); convert_to_string(&restored_error_reporting); key = zend_string_init("error_reporting", sizeof("error_reporting")-1, 0); - zend_alter_ini_entry_ex(key, Z_STRVAL(restored_error_reporting), Z_STRLEN(restored_error_reporting), ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME, 1 TSRMLS_CC); + zend_alter_ini_entry_ex(key, Z_STR(restored_error_reporting), ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME, 1 TSRMLS_CC); zend_string_free(key); zval_dtor(&restored_error_reporting); } diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index f1ab7e85c4..6110c81810 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -1131,15 +1131,17 @@ static int ZEND_FASTCALL ZEND_BEGIN_SILENCE_SPEC_HANDLER(ZEND_OPCODE_HANDLER_AR } if (EXPECTED(zend_hash_str_add_ptr(EG(modified_ini_directives), "error_reporting", sizeof("error_reporting")-1, EG(error_reporting_ini_entry)) != NULL)) { EG(error_reporting_ini_entry)->orig_value = EG(error_reporting_ini_entry)->value; - EG(error_reporting_ini_entry)->orig_value_length = EG(error_reporting_ini_entry)->value_length; EG(error_reporting_ini_entry)->orig_modifiable = EG(error_reporting_ini_entry)->modifiable; EG(error_reporting_ini_entry)->modified = 1; } } else if (EG(error_reporting_ini_entry)->value != EG(error_reporting_ini_entry)->orig_value) { - efree(EG(error_reporting_ini_entry)->value); + zend_string_release(EG(error_reporting_ini_entry)->value); + } + if (CG(one_char_string)['0']) { + EG(error_reporting_ini_entry)->value = CG(one_char_string)['0']; + } else { + EG(error_reporting_ini_entry)->value = zend_string_init("0", sizeof("0")-1, 0); } - EG(error_reporting_ini_entry)->value = estrndup("0", sizeof("0")-1); - EG(error_reporting_ini_entry)->value_length = sizeof("0")-1; } while (0); } CHECK_EXCEPTION(); @@ -1372,7 +1374,7 @@ static int ZEND_FASTCALL ZEND_HANDLE_EXCEPTION_SPEC_HANDLER(ZEND_OPCODE_HANDLER ZVAL_LONG(&restored_error_reporting, Z_LVAL(EX(old_error_reporting))); convert_to_string(&restored_error_reporting); key = zend_string_init("error_reporting", sizeof("error_reporting")-1, 0); - zend_alter_ini_entry_ex(key, Z_STRVAL(restored_error_reporting), Z_STRLEN(restored_error_reporting), ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME, 1 TSRMLS_CC); + zend_alter_ini_entry_ex(key, Z_STR(restored_error_reporting), ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME, 1 TSRMLS_CC); zend_string_free(key); zval_dtor(&restored_error_reporting); } @@ -10040,10 +10042,9 @@ static int ZEND_FASTCALL ZEND_END_SILENCE_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ if (EXPECTED(EG(error_reporting_ini_entry) != NULL)) { if (EXPECTED(EG(error_reporting_ini_entry)->modified && EG(error_reporting_ini_entry)->value != EG(error_reporting_ini_entry)->orig_value)) { - efree(EG(error_reporting_ini_entry)->value); + zend_string_release(EG(error_reporting_ini_entry)->value); } - EG(error_reporting_ini_entry)->value_length = buf + sizeof(buf) - 1 - res; - EG(error_reporting_ini_entry)->value = estrndup(res, EG(error_reporting_ini_entry)->value_length); + EG(error_reporting_ini_entry)->value = zend_string_init(res, buf + sizeof(buf) - 1 - res, 0); } } //??? if (EX(old_error_reporting) == EX_VAR(opline->op1.var)) { diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 2a17ab8d54..cf3f6214a5 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -932,7 +932,7 @@ timelib_tzinfo *php_date_parse_tzfile_wrapper(char *formal_tzname, const timelib /* {{{ static PHP_INI_MH(OnUpdate_date_timezone) */ static PHP_INI_MH(OnUpdate_date_timezone) { - if (OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC) == FAILURE) { + if (OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC) == FAILURE) { return FAILURE; } @@ -959,11 +959,11 @@ static char* guess_timezone(const timelib_tzdb *tzdb TSRMLS_DC) /* Check config setting for default timezone */ if (!DATEG(default_timezone)) { /* Special case: ext/date wasn't initialized yet */ - zval ztz; + zval *ztz; - if (SUCCESS == zend_get_configuration_directive("date.timezone", sizeof("date.timezone"), &ztz) - && Z_TYPE(ztz) == IS_STRING && Z_STRLEN(ztz) > 0 && timelib_timezone_id_is_valid(Z_STRVAL(ztz), tzdb)) { - return Z_STRVAL(ztz); + if (NULL != (ztz = cfg_get_entry("date.timezone", sizeof("date.timezone"))) + && Z_TYPE_P(ztz) == IS_STRING && Z_STRLEN_P(ztz) > 0 && timelib_timezone_id_is_valid(Z_STRVAL_P(ztz), tzdb)) { + return Z_STRVAL_P(ztz); } } else if (*DATEG(default_timezone)) { if (DATEG(timezone_valid) == 1) { diff --git a/ext/exif/exif.c b/ext/exif/exif.c index 9b6d86c415..fe60a3d8d4 100644 --- a/ext/exif/exif.c +++ b/ext/exif/exif.c @@ -166,17 +166,17 @@ ZEND_DECLARE_MODULE_GLOBALS(exif) ZEND_INI_MH(OnUpdateEncode) { - if (new_value && new_value_length) { + if (new_value && new_value->len) { const zend_encoding **return_list; size_t return_size; - if (FAILURE == zend_multibyte_parse_encoding_list(new_value, new_value_length, + if (FAILURE == zend_multibyte_parse_encoding_list(new_value->val, new_value->len, &return_list, &return_size, 0 TSRMLS_CC)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Illegal encoding ignored: '%s'", new_value); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Illegal encoding ignored: '%s'", new_value->val); return FAILURE; } efree(return_list); } - return OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + return OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); } ZEND_INI_MH(OnUpdateDecode) @@ -184,14 +184,14 @@ ZEND_INI_MH(OnUpdateDecode) if (new_value) { const zend_encoding **return_list; size_t return_size; - if (FAILURE == zend_multibyte_parse_encoding_list(new_value, new_value_length, + if (FAILURE == zend_multibyte_parse_encoding_list(new_value->val, new_value->len, &return_list, &return_size, 0 TSRMLS_CC)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Illegal encoding ignored: '%s'", new_value); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Illegal encoding ignored: '%s'", new_value->val); return FAILURE; } efree(return_list); } - return OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + return OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); } PHP_INI_BEGIN() diff --git a/ext/filter/filter.c b/ext/filter/filter.c index e53e84f855..873a6f83b3 100644 --- a/ext/filter/filter.c +++ b/ext/filter/filter.c @@ -160,7 +160,7 @@ static PHP_INI_MH(UpdateDefaultFilter) /* {{{ */ int i, size = sizeof(filter_list) / sizeof(filter_list_entry); for (i = 0; i < size; ++i) { - if ((strcasecmp(new_value, filter_list[i].name) == 0)) { + if ((strcasecmp(new_value->val, filter_list[i].name) == 0)) { IF_G(default_filter) = filter_list[i].id; return SUCCESS; } @@ -178,7 +178,7 @@ static PHP_INI_MH(OnUpdateFlags) if (!new_value) { IF_G(default_filter_flags) = FILTER_FLAG_NO_ENCODE_QUOTES; } else { - IF_G(default_filter_flags) = atoi(new_value); + IF_G(default_filter_flags) = atoi(new_value->val); } return SUCCESS; } diff --git a/ext/iconv/iconv.c b/ext/iconv/iconv.c index ee4bdb8166..66b696950e 100644 --- a/ext/iconv/iconv.c +++ b/ext/iconv/iconv.c @@ -223,39 +223,39 @@ static char _generic_superset_name[] = ICONV_UCS4_ENCODING; static PHP_INI_MH(OnUpdateInputEncoding) { - if (new_value_length >= ICONV_CSNMAXLEN) { + if (new_value->len >= ICONV_CSNMAXLEN) { return FAILURE; } if (stage & (PHP_INI_STAGE_ACTIVATE | PHP_INI_STAGE_RUNTIME)) { php_error_docref("ref.iconv" TSRMLS_CC, E_DEPRECATED, "Use of iconv.input_encoding is deprecated"); } - OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); return SUCCESS; } static PHP_INI_MH(OnUpdateOutputEncoding) { - if(new_value_length >= ICONV_CSNMAXLEN) { + if(new_value->len >= ICONV_CSNMAXLEN) { return FAILURE; } if (stage & (PHP_INI_STAGE_ACTIVATE | PHP_INI_STAGE_RUNTIME)) { php_error_docref("ref.iconv" TSRMLS_CC, E_DEPRECATED, "Use of iconv.output_encoding is deprecated"); } - OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); return SUCCESS; } static PHP_INI_MH(OnUpdateInternalEncoding) { - if(new_value_length >= ICONV_CSNMAXLEN) { + if(new_value->len >= ICONV_CSNMAXLEN) { return FAILURE; } if (stage & (PHP_INI_STAGE_ACTIVATE | PHP_INI_STAGE_RUNTIME)) { php_error_docref("ref.iconv" TSRMLS_CC, E_DEPRECATED, "Use of iconv.internal_encoding is deprecated"); } - OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); return SUCCESS; } @@ -2456,14 +2456,15 @@ PHP_NAMED_FUNCTION(php_if_iconv) Sets internal encoding and output encoding for ob_iconv_handler() */ PHP_FUNCTION(iconv_set_encoding) { - char *type, *charset; - size_t type_len, charset_len = 0, retval; + char *type; + zend_string *charset; + size_t type_len, retval; zend_string *name; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &type, &type_len, &charset, &charset_len) == FAILURE) + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sS", &type, &type_len, &charset) == FAILURE) return; - if (charset_len >= ICONV_CSNMAXLEN) { + if (charset->len >= ICONV_CSNMAXLEN) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Charset parameter exceeds the maximum allowed length of %d characters", ICONV_CSNMAXLEN); RETURN_FALSE; } @@ -2478,7 +2479,7 @@ PHP_FUNCTION(iconv_set_encoding) RETURN_FALSE; } - retval = zend_alter_ini_entry(name, charset, charset_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); + retval = zend_alter_ini_entry(name, charset, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); zend_string_release(name); if (retval == SUCCESS) { diff --git a/ext/intl/locale/locale_methods.c b/ext/intl/locale/locale_methods.c index 843f669342..81978850ee 100644 --- a/ext/intl/locale/locale_methods.c +++ b/ext/intl/locale/locale_methods.c @@ -223,12 +223,11 @@ PHP_NAMED_FUNCTION(zif_locale_get_default) Set default locale */ PHP_NAMED_FUNCTION(zif_locale_set_default) { - char* locale_name = NULL; - size_t len = 0; + zend_string* locale_name; zend_string *ini_name; + char *default_locale = NULL; - if(zend_parse_parameters( ZEND_NUM_ARGS() TSRMLS_CC, "s", - &locale_name ,&len ) == FAILURE) + if(zend_parse_parameters( ZEND_NUM_ARGS() TSRMLS_CC, "S", &locale_name) == FAILURE) { intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, "locale_set_default: unable to parse input params", 0 TSRMLS_CC ); @@ -236,13 +235,13 @@ PHP_NAMED_FUNCTION(zif_locale_set_default) RETURN_FALSE; } - if(len == 0) { - locale_name = (char *)uloc_getDefault() ; - len = strlen(locale_name); + if (locale_name->len == 0) { + default_locale = (char *)uloc_getDefault(); + locale_name = zend_string_init(default_locale, strlen(default_locale), 0); } ini_name = zend_string_init(LOCALE_INI_NAME, sizeof(LOCALE_INI_NAME) - 1, 0); - zend_alter_ini_entry(ini_name, locale_name, len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); + zend_alter_ini_entry(ini_name, locale_name, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); zend_string_release(ini_name); RETURN_TRUE; diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 8718e9f8f2..212c8d013f 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -1209,7 +1209,7 @@ static PHP_INI_MH(OnUpdate_mbstring_language) { enum mbfl_no_language no_language; - no_language = mbfl_name2no_language(new_value); + no_language = mbfl_name2no_language(new_value->val); if (no_language == mbfl_no_language_invalid) { MBSTRG(language) = mbfl_no_language_neutral; return FAILURE; @@ -1235,7 +1235,7 @@ static PHP_INI_MH(OnUpdate_mbstring_detect_order) return SUCCESS; } - if (FAILURE == php_mb_parse_encoding_list(new_value, new_value_length, &list, &size, 1 TSRMLS_CC)) { + if (FAILURE == php_mb_parse_encoding_list(new_value->val, new_value->len, &list, &size, 1 TSRMLS_CC)) { return FAILURE; } @@ -1268,7 +1268,7 @@ static PHP_INI_MH(OnUpdate_mbstring_http_input) return SUCCESS; } - if (FAILURE == php_mb_parse_encoding_list(new_value, new_value_length, &list, &size, 1 TSRMLS_CC)) { + if (FAILURE == php_mb_parse_encoding_list(new_value->val, new_value->len, &list, &size, 1 TSRMLS_CC)) { return FAILURE; } @@ -1291,7 +1291,7 @@ static PHP_INI_MH(OnUpdate_mbstring_http_output) { const mbfl_encoding *encoding; - if (new_value == NULL || new_value_length == 0) { + if (new_value == NULL || new_value->len == 0) { encoding = mbfl_name2encoding(get_output_encoding(TSRMLS_C)); if (!encoding) { MBSTRG(http_output_encoding) = &mbfl_encoding_pass; @@ -1299,7 +1299,7 @@ static PHP_INI_MH(OnUpdate_mbstring_http_output) return SUCCESS; } } else { - encoding = mbfl_name2encoding(new_value); + encoding = mbfl_name2encoding(new_value->val); if (!encoding) { MBSTRG(http_output_encoding) = &mbfl_encoding_pass; MBSTRG(current_http_output_encoding) = &mbfl_encoding_pass; @@ -1350,13 +1350,13 @@ static PHP_INI_MH(OnUpdate_mbstring_internal_encoding) php_error_docref("ref.mbstring" TSRMLS_CC, E_DEPRECATED, "Use of mbstring.internal_encoding is deprecated"); } - if (OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC) == FAILURE) { + if (OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC) == FAILURE) { return FAILURE; } if (stage & (PHP_INI_STAGE_STARTUP | PHP_INI_STAGE_SHUTDOWN | PHP_INI_STAGE_RUNTIME)) { - if (new_value_length) { - return _php_mb_ini_mbstring_internal_encoding_set(new_value, new_value_length TSRMLS_CC); + if (new_value && new_value->len) { + return _php_mb_ini_mbstring_internal_encoding_set(new_value->val, new_value->len TSRMLS_CC); } else { return _php_mb_ini_mbstring_internal_encoding_set(get_internal_encoding(TSRMLS_C), strlen(get_internal_encoding(TSRMLS_C))+1 TSRMLS_CC); } @@ -1379,20 +1379,20 @@ static PHP_INI_MH(OnUpdate_mbstring_substitute_character) char *endptr = NULL; if (new_value != NULL) { - if (strcasecmp("none", new_value) == 0) { + if (strcasecmp("none", new_value->val) == 0) { MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE; MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE; - } else if (strcasecmp("long", new_value) == 0) { + } else if (strcasecmp("long", new_value->val) == 0) { MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG; MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG; - } else if (strcasecmp("entity", new_value) == 0) { + } else if (strcasecmp("entity", new_value->val) == 0) { MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY; MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY; } else { MBSTRG(filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; MBSTRG(current_filter_illegal_mode) = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; - if (new_value_length >0) { - c = strtol(new_value, &endptr, 0); + if (new_value->len >0) { + c = strtol(new_value->val, &endptr, 0); if (*endptr == '\0') { MBSTRG(filter_illegal_substchar) = c; MBSTRG(current_filter_illegal_substchar) = c; @@ -1417,7 +1417,7 @@ static PHP_INI_MH(OnUpdate_mbstring_encoding_translation) return FAILURE; } - OnUpdateBool(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + OnUpdateBool(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); if (MBSTRG(encoding_translation)) { sapi_unregister_post_entry(php_post_entries TSRMLS_CC); @@ -1439,9 +1439,8 @@ static PHP_INI_MH(OnUpdate_mbstring_http_output_conv_mimetypes) if (!new_value) { new_value = entry->orig_value; - new_value_length = entry->orig_value_length; } - php_trim(new_value, new_value_length, NULL, 0, &tmp, 3 TSRMLS_CC); + php_trim(new_value->val, new_value->len, NULL, 0, &tmp, 3 TSRMLS_CC); if (Z_STRLEN(tmp) > 0) { if (!(re = _php_mb_compile_regex(Z_STRVAL(tmp) TSRMLS_CC))) { @@ -1732,18 +1731,17 @@ PHP_MINFO_FUNCTION(mbstring) Sets the current language or Returns the current language as a string */ PHP_FUNCTION(mb_language) { - char *name = NULL; - size_t name_len = 0; + zend_string *name = NULL; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &name, &name_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|S", &name) == FAILURE) { return; } if (name == NULL) { RETVAL_STRING((char *)mbfl_no_language2name(MBSTRG(language))); } else { zend_string *ini_name = zend_string_init("mbstring.language", sizeof("mbstring.language") - 1, 0); - if (FAILURE == zend_alter_ini_entry(ini_name, name, name_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown language \"%s\"", name); + if (FAILURE == zend_alter_ini_entry(ini_name, name, PHP_INI_USER, PHP_INI_STAGE_RUNTIME)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown language \"%s\"", name->val); RETVAL_FALSE; } else { RETVAL_TRUE; diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c index 424f923d78..e3535bc769 100644 --- a/ext/mysql/php_mysql.c +++ b/ext/mysql/php_mysql.c @@ -485,7 +485,7 @@ static void _close_mysql_plink(zend_resource *rsrc TSRMLS_DC) static PHP_INI_MH(OnMySQLPort) { if (new_value != NULL) { /* default port */ - MySG(default_port) = atoi(new_value); + MySG(default_port) = atoi(new_value->val); } else { MySG(default_port) = -1; } diff --git a/ext/mysqlnd/php_mysqlnd.c b/ext/mysqlnd/php_mysqlnd.c index 15d572793b..33c57c23d5 100644 --- a/ext/mysqlnd/php_mysqlnd.c +++ b/ext/mysqlnd/php_mysqlnd.c @@ -208,7 +208,7 @@ static PHP_INI_MH(OnUpdateNetCmdBufferSize) { zend_long long_value; - ZEND_ATOL(long_value, new_value); + ZEND_ATOL(long_value, new_value->val); if (long_value < MYSQLND_NET_CMD_BUFFER_MIN_SIZE) { return FAILURE; } diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index 9b1149e13d..02af2d94ca 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -524,9 +524,9 @@ static PHP_INI_DISP(display_link_nums) TSRMLS_FETCH(); if (type == PHP_INI_DISPLAY_ORIG && ini_entry->modified) { - value = ini_entry->orig_value; + value = ini_entry->orig_value->val; } else if (ini_entry->value) { - value = ini_entry->value; + value = ini_entry->value->val; } else { value = NULL; } @@ -549,9 +549,9 @@ static PHP_INI_DISP(display_defPW) TSRMLS_FETCH(); if (type == PHP_INI_DISPLAY_ORIG && ini_entry->modified) { - value = ini_entry->orig_value; + value = ini_entry->orig_value->val; } else if (ini_entry->value) { - value = ini_entry->value; + value = ini_entry->value->val; } else { value = NULL; } @@ -580,9 +580,9 @@ static PHP_INI_DISP(display_binmode) TSRMLS_FETCH(); if (type == PHP_INI_DISPLAY_ORIG && ini_entry->modified) { - value = ini_entry->orig_value; + value = ini_entry->orig_value->val; } else if (ini_entry->value) { - value = ini_entry->value; + value = ini_entry->value->val; } else { value = NULL; } @@ -611,9 +611,9 @@ static PHP_INI_DISP(display_lrl) TSRMLS_FETCH(); if (type == PHP_INI_DISPLAY_ORIG && ini_entry->modified) { - value = ini_entry->orig_value; + value = ini_entry->orig_value->val; } else if (ini_entry->value) { - value = ini_entry->value; + value = ini_entry->value->val; } else { value = NULL; } @@ -637,9 +637,9 @@ static PHP_INI_DISP(display_cursortype) TSRMLS_FETCH(); if (type == PHP_INI_DISPLAY_ORIG && ini_entry->modified) { - value = ini_entry->orig_value; + value = ini_entry->orig_value->val; } else if (ini_entry->value) { - value = ini_entry->value; + value = ini_entry->value->val; } else { value = NULL; } diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c index 053a17c993..d72383ace8 100644 --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@ -192,13 +192,13 @@ void zend_accel_schedule_restart_if_necessary(zend_accel_restart_reason reason T */ static ZEND_INI_MH(accel_include_path_on_modify) { - int ret = orig_include_path_on_modify(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + int ret = orig_include_path_on_modify(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); ZCG(include_path_key) = NULL; if (ret == SUCCESS) { - ZCG(include_path) = new_value; + ZCG(include_path) = new_value->val; if (ZCG(include_path) && *ZCG(include_path)) { - ZCG(include_path_len) = new_value_length; + ZCG(include_path_len) = new_value->len; if (ZCG(enabled) && accel_startup_ok && (ZCG(counted) || ZCSG(accelerator_enabled))) { diff --git a/ext/opcache/zend_accelerator_module.c b/ext/opcache/zend_accelerator_module.c index a53ed122e6..001c3ee9ed 100644 --- a/ext/opcache/zend_accelerator_module.c +++ b/ext/opcache/zend_accelerator_module.c @@ -109,10 +109,10 @@ static ZEND_INI_MH(OnUpdateMemoryConsumption) #endif /* keep the compiler happy */ - (void)entry; (void)new_value_length; (void)mh_arg2; (void)mh_arg3; (void)stage; + (void)entry; (void)mh_arg2; (void)mh_arg3; (void)stage; p = (zend_long *) (base + (size_t)mh_arg1); - memsize = atoi(new_value); + memsize = atoi(new_value->val); /* sanity check we must use at least 8 MB */ if (memsize < 8) { const char *new_new_value = "8"; @@ -128,8 +128,7 @@ static ZEND_INI_MH(OnUpdateMemoryConsumption) return FAILURE; } - ini_entry->value = strdup(new_new_value); - ini_entry->value_length = strlen(new_new_value); + ini_entry->value = zend_string_init(new_new_value, 1, 1); } *p = memsize * (1024 * 1024); return SUCCESS; @@ -146,10 +145,10 @@ static ZEND_INI_MH(OnUpdateMaxAcceleratedFiles) #endif /* keep the compiler happy */ - (void)entry; (void)new_value_length; (void)mh_arg2; (void)mh_arg3; (void)stage; + (void)entry; (void)mh_arg2; (void)mh_arg3; (void)stage; p = (zend_long *) (base + (size_t)mh_arg1); - size = atoi(new_value); + size = atoi(new_value->val); /* sanity check we must use a value between MIN_ACCEL_FILES and MAX_ACCEL_FILES */ if (size < MIN_ACCEL_FILES || size > MAX_ACCEL_FILES) { @@ -173,8 +172,7 @@ static ZEND_INI_MH(OnUpdateMaxAcceleratedFiles) sizeof("opcache.max_accelerated_files")-1)) == NULL) { return FAILURE; } - ini_entry->value = strdup(new_new_value); - ini_entry->value_length = strlen(new_new_value); + ini_entry->value = zend_string_init(new_new_value, strlen(new_new_value), 1); } *p = size; return SUCCESS; @@ -191,10 +189,10 @@ static ZEND_INI_MH(OnUpdateMaxWastedPercentage) #endif /* keep the compiler happy */ - (void)entry; (void)new_value_length; (void)mh_arg2; (void)mh_arg3; (void)stage; + (void)entry; (void)mh_arg2; (void)mh_arg3; (void)stage; p = (double *) (base + (size_t)mh_arg1); - percentage = atoi(new_value); + percentage = atoi(new_value->val); if (percentage <= 0 || percentage > 50) { const char *new_new_value = "5"; @@ -208,8 +206,7 @@ static ZEND_INI_MH(OnUpdateMaxWastedPercentage) sizeof("opcache.max_wasted_percentage")-1)) == NULL) { return FAILURE; } - ini_entry->value = strdup(new_new_value); - ini_entry->value_length = strlen(new_new_value); + ini_entry->value = zend_string_init(new_new_value, strlen(new_new_value), 1); } *p = (double)percentage / 100.0; return SUCCESS; @@ -220,7 +217,7 @@ static ZEND_INI_MH(OnEnable) if (stage == ZEND_INI_STAGE_STARTUP || stage == ZEND_INI_STAGE_SHUTDOWN || stage == ZEND_INI_STAGE_DEACTIVATE) { - return OnUpdateBool(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + return OnUpdateBool(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); } else { /* It may be only temporary disabled */ zend_bool *p; @@ -231,10 +228,10 @@ static ZEND_INI_MH(OnEnable) #endif p = (zend_bool *) (base+(size_t) mh_arg1); - if ((new_value_length == 2 && strcasecmp("on", new_value) == 0) || - (new_value_length == 3 && strcasecmp("yes", new_value) == 0) || - (new_value_length == 4 && strcasecmp("true", new_value) == 0) || - atoi(new_value) != 0) { + if ((new_value->len == 2 && strcasecmp("on", new_value->val) == 0) || + (new_value->len == 3 && strcasecmp("yes", new_value->val) == 0) || + (new_value->len == 4 && strcasecmp("true", new_value->val) == 0) || + atoi(new_value->val) != 0) { zend_error(E_WARNING, ACCELERATOR_PRODUCT_NAME " can't be temporary enabled (it may be only disabled till the end of request)"); return FAILURE; } else { diff --git a/ext/phar/phar.c b/ext/phar/phar.c index 2fd46b9621..4c02e1aecf 100644 --- a/ext/phar/phar.c +++ b/ext/phar/phar.c @@ -50,28 +50,28 @@ ZEND_INI_MH(phar_ini_modify_handler) /* {{{ */ { zend_bool old, ini; - if (entry->name_length == sizeof("phar.readonly")-1) { + if (entry->name->len == sizeof("phar.readonly")-1) { old = PHAR_G(readonly_orig); } else { old = PHAR_G(require_hash_orig); } - if (new_value_length == 2 && !strcasecmp("on", new_value)) { + if (new_value->len == 2 && !strcasecmp("on", new_value->val)) { ini = (zend_bool) 1; } - else if (new_value_length == 3 && !strcasecmp("yes", new_value)) { + else if (new_value->len == 3 && !strcasecmp("yes", new_value->val)) { ini = (zend_bool) 1; } - else if (new_value_length == 4 && !strcasecmp("true", new_value)) { + else if (new_value->len == 4 && !strcasecmp("true", new_value->val)) { ini = (zend_bool) 1; } else { - ini = (zend_bool) atoi(new_value); + ini = (zend_bool) atoi(new_value->val); } /* do not allow unsetting in runtime */ if (stage == ZEND_INI_STAGE_STARTUP) { - if (entry->name_length == sizeof("phar.readonly")-1) { + if (entry->name->len == sizeof("phar.readonly")-1) { PHAR_G(readonly_orig) = ini; } else { PHAR_G(require_hash_orig) = ini; @@ -80,7 +80,7 @@ ZEND_INI_MH(phar_ini_modify_handler) /* {{{ */ return FAILURE; } - if (entry->name_length == sizeof("phar.readonly")-1) { + if (entry->name->len == sizeof("phar.readonly")-1) { PHAR_G(readonly) = ini; if (PHAR_GLOBALS->request_init && PHAR_GLOBALS->phar_fname_map.arHash) { zend_hash_apply_with_argument(&(PHAR_GLOBALS->phar_fname_map), phar_set_writeable_bit, (void *)&ini TSRMLS_CC); @@ -183,7 +183,7 @@ finish_error: ZEND_INI_MH(phar_ini_cache_list) /* {{{ */ { - PHAR_G(cache_list) = new_value; + PHAR_G(cache_list) = new_value->val; if (stage == ZEND_INI_STAGE_STARTUP) { phar_split_cache_list(TSRMLS_C); diff --git a/ext/readline/readline_cli.c b/ext/readline/readline_cli.c index b23703ea08..a6aeae6779 100644 --- a/ext/readline/readline_cli.c +++ b/ext/readline/readline_cli.c @@ -409,7 +409,7 @@ static int cli_is_valid_code(char *code, int len, zend_string **prompt TSRMLS_DC static char *cli_completion_generator_ht(const char *text, int textlen, int *state, HashTable *ht, void **pData TSRMLS_DC) /* {{{ */ { zend_string *name; - ulong number; + zend_ulong number; if (!(*state % 2)) { zend_hash_internal_pointer_reset(ht); @@ -633,7 +633,7 @@ static int readline_shell_run(TSRMLS_D) /* {{{ */ param++; cmd = zend_string_init(&line[1], param - &line[1] - 1, 0); - zend_alter_ini_entry_ex(cmd, param, strlen(param), PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC); + zend_alter_ini_entry_chars_ex(cmd, param, strlen(param), PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC); zend_string_release(cmd); add_history(line); diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index 8c4c487da3..a2c88044fd 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -958,7 +958,7 @@ static int _extension_ini_string(zval *el TSRMLS_DC, int num_args, va_list args, char *comma = ""; if (number == ini_entry->module_number) { - string_printf(str, " %sEntry [ %s <", indent, ini_entry->name); + string_printf(str, " %sEntry [ %s <", indent, ini_entry->name->val); if (ini_entry->modifiable == ZEND_INI_ALL) { string_printf(str, "ALL"); } else { @@ -976,9 +976,9 @@ static int _extension_ini_string(zval *el TSRMLS_DC, int num_args, va_list args, } string_printf(str, "> ]\n"); - string_printf(str, " %s Current = '%s'\n", indent, ini_entry->value ? ini_entry->value : ""); + string_printf(str, " %s Current = '%s'\n", indent, ini_entry->value ? ini_entry->value->val : ""); if (ini_entry->modified) { - string_printf(str, " %s Default = '%s'\n", indent, ini_entry->orig_value ? ini_entry->orig_value : ""); + string_printf(str, " %s Default = '%s'\n", indent, ini_entry->orig_value ? ini_entry->orig_value->val : ""); } string_printf(str, " %s}\n", indent); } @@ -5278,9 +5278,12 @@ static int _addinientry(zval *el TSRMLS_DC, int num_args, va_list args, zend_has if (number == ini_entry->module_number) { if (ini_entry->value) { - add_assoc_stringl(retval, ini_entry->name, ini_entry->value, ini_entry->value_length); + zval zv; + + ZVAL_STR(&zv, ini_entry->value); + zend_symtable_update(Z_ARRVAL_P(retval), ini_entry->name, &zv); } else { - add_assoc_null(retval, ini_entry->name); + zend_symtable_update(Z_ARRVAL_P(retval), ini_entry->name, &EG(uninitialized_zval)); } } return ZEND_HASH_APPLY_KEEP; diff --git a/ext/session/session.c b/ext/session/session.c index 9b31bddf3a..de8cf23310 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -581,7 +581,7 @@ static PHP_INI_MH(OnUpdateSaveHandler) /* {{{ */ ps_module *tmp; SESSION_CHECK_ACTIVE_STATE; - tmp = _php_find_ps_module(new_value TSRMLS_CC); + tmp = _php_find_ps_module(new_value->val TSRMLS_CC); if (PG(modules_activated) && !tmp) { int err_type; @@ -594,7 +594,7 @@ static PHP_INI_MH(OnUpdateSaveHandler) /* {{{ */ /* Do not output error when restoring ini options. */ if (stage != ZEND_INI_STAGE_DEACTIVATE) { - php_error_docref(NULL TSRMLS_CC, err_type, "Cannot find save handler '%s'", new_value); + php_error_docref(NULL TSRMLS_CC, err_type, "Cannot find save handler '%s'", new_value->val); } return FAILURE; } @@ -611,7 +611,7 @@ static PHP_INI_MH(OnUpdateSerializer) /* {{{ */ const ps_serializer *tmp; SESSION_CHECK_ACTIVE_STATE; - tmp = _php_find_ps_serializer(new_value TSRMLS_CC); + tmp = _php_find_ps_serializer(new_value->val TSRMLS_CC); if (PG(modules_activated) && !tmp) { int err_type; @@ -624,7 +624,7 @@ static PHP_INI_MH(OnUpdateSerializer) /* {{{ */ /* Do not output error when restoring ini options. */ if (stage != ZEND_INI_STAGE_DEACTIVATE) { - php_error_docref(NULL TSRMLS_CC, err_type, "Cannot find serialization handler '%s'", new_value); + php_error_docref(NULL TSRMLS_CC, err_type, "Cannot find serialization handler '%s'", new_value->val); } return FAILURE; } @@ -638,10 +638,10 @@ static PHP_INI_MH(OnUpdateTransSid) /* {{{ */ { SESSION_CHECK_ACTIVE_STATE; - if (!strncasecmp(new_value, "on", sizeof("on"))) { + if (!strncasecmp(new_value->val, "on", sizeof("on"))) { PS(use_trans_sid) = (zend_bool) 1; } else { - PS(use_trans_sid) = (zend_bool) atoi(new_value); + PS(use_trans_sid) = (zend_bool) atoi(new_value->val); } return SUCCESS; @@ -654,19 +654,19 @@ static PHP_INI_MH(OnUpdateSaveDir) /* {{{ */ if (stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS) { char *p; - if (memchr(new_value, '\0', new_value_length) != NULL) { + if (memchr(new_value->val, '\0', new_value->len) != NULL) { return FAILURE; } /* we do not use zend_memrchr() since path can contain ; itself */ - if ((p = strchr(new_value, ';'))) { + if ((p = strchr(new_value->val, ';'))) { char *p2; p++; if ((p2 = strchr(p, ';'))) { p = p2 + 1; } } else { - p = new_value; + p = new_value->val; } if (PG(open_basedir) && *p && php_check_open_basedir(p TSRMLS_CC)) { @@ -674,7 +674,7 @@ static PHP_INI_MH(OnUpdateSaveDir) /* {{{ */ } } - OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); return SUCCESS; } /* }}} */ @@ -682,7 +682,7 @@ static PHP_INI_MH(OnUpdateSaveDir) /* {{{ */ static PHP_INI_MH(OnUpdateName) /* {{{ */ { /* Numeric session.name won't work at all */ - if ((!new_value_length || is_numeric_string(new_value, new_value_length, NULL, NULL, 0))) { + if ((!new_value->len || is_numeric_string(new_value->val, new_value->len, NULL, NULL, 0))) { int err_type; if (stage == ZEND_INI_STAGE_RUNTIME || stage == ZEND_INI_STAGE_ACTIVATE || stage == ZEND_INI_STAGE_STARTUP) { @@ -693,12 +693,12 @@ static PHP_INI_MH(OnUpdateName) /* {{{ */ /* Do not output error when restoring ini options. */ if (stage != ZEND_INI_STAGE_DEACTIVATE) { - php_error_docref(NULL TSRMLS_CC, err_type, "session.name cannot be a numeric or empty '%s'", new_value); + php_error_docref(NULL TSRMLS_CC, err_type, "session.name cannot be a numeric or empty '%s'", new_value->val); } return FAILURE; } - OnUpdateStringUnempty(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + OnUpdateStringUnempty(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); return SUCCESS; } /* }}} */ @@ -712,7 +712,7 @@ static PHP_INI_MH(OnUpdateHashFunc) /* {{{ */ PS(hash_ops) = NULL; #endif - val = ZEND_STRTOL(new_value, &endptr, 10); + val = ZEND_STRTOL(new_value->val, &endptr, 10); if (endptr && (*endptr == '\0')) { /* Numeric value */ PS(hash_func) = val ? 1 : 0; @@ -720,15 +720,15 @@ static PHP_INI_MH(OnUpdateHashFunc) /* {{{ */ return SUCCESS; } - if (new_value_length == (sizeof("md5") - 1) && - strncasecmp(new_value, "md5", sizeof("md5") - 1) == 0) { + if (new_value->len == (sizeof("md5") - 1) && + strncasecmp(new_value->val, "md5", sizeof("md5") - 1) == 0) { PS(hash_func) = PS_HASH_FUNC_MD5; return SUCCESS; } - if (new_value_length == (sizeof("sha1") - 1) && - strncasecmp(new_value, "sha1", sizeof("sha1") - 1) == 0) { + if (new_value->len == (sizeof("sha1") - 1) && + strncasecmp(new_value->val, "sha1", sizeof("sha1") - 1) == 0) { PS(hash_func) = PS_HASH_FUNC_SHA1; return SUCCESS; @@ -736,7 +736,7 @@ static PHP_INI_MH(OnUpdateHashFunc) /* {{{ */ #if defined(HAVE_HASH_EXT) && !defined(COMPILE_DL_HASH) /* {{{ */ { - php_hash_ops *ops = (php_hash_ops*)php_hash_fetch_ops(new_value, new_value_length); + php_hash_ops *ops = (php_hash_ops*)php_hash_fetch_ops(new_value->val, new_value->len); if (ops) { PS(hash_func) = PS_HASH_FUNC_OTHER; @@ -747,7 +747,7 @@ static PHP_INI_MH(OnUpdateHashFunc) /* {{{ */ } #endif /* HAVE_HASH_EXT }}} */ - php_error_docref(NULL TSRMLS_CC, E_WARNING, "session.configuration 'session.hash_function' must be existing hash function. %s does not exist.", new_value); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "session.configuration 'session.hash_function' must be existing hash function. %s does not exist.", new_value->val); return FAILURE; } /* }}} */ @@ -755,12 +755,12 @@ static PHP_INI_MH(OnUpdateHashFunc) /* {{{ */ static PHP_INI_MH(OnUpdateRfc1867Freq) /* {{{ */ { int tmp; - tmp = zend_atoi(new_value, new_value_length); + tmp = zend_atoi(new_value->val, new_value->len); if(tmp < 0) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "session.upload_progress.freq must be greater than or equal to zero"); return FAILURE; } - if(new_value_length > 0 && new_value[new_value_length-1] == '%') { + if(new_value->len > 0 && new_value->val[new_value->len-1] == '%') { if(tmp > 100) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "session.upload_progress.freq cannot be over 100%%"); return FAILURE; @@ -1643,42 +1643,41 @@ PHPAPI void session_adapt_url(const char *url, size_t urllen, char **new, size_t static PHP_FUNCTION(session_set_cookie_params) { zval *lifetime; - char *path = NULL, *domain = NULL; - size_t path_len, domain_len; + zend_string *path = NULL, *domain = NULL; int argc = ZEND_NUM_ARGS(); zend_bool secure = 0, httponly = 0; zend_string *ini_name; if (!PS(use_cookies) || - zend_parse_parameters(argc TSRMLS_CC, "z|ssbb", &lifetime, &path, &path_len, &domain, &domain_len, &secure, &httponly) == FAILURE) { + zend_parse_parameters(argc TSRMLS_CC, "z|SSbb", &lifetime, &path, &domain, &secure, &httponly) == FAILURE) { return; } convert_to_string_ex(lifetime); ini_name = zend_string_init("session.cookie_lifetime", sizeof("session.cookie_lifetime") - 1, 0); - zend_alter_ini_entry(ini_name, Z_STRVAL_P(lifetime), Z_STRLEN_P(lifetime), PHP_INI_USER, PHP_INI_STAGE_RUNTIME); + zend_alter_ini_entry(ini_name, Z_STR_P(lifetime), PHP_INI_USER, PHP_INI_STAGE_RUNTIME); zend_string_release(ini_name); if (path) { ini_name = zend_string_init("session.cookie_path", sizeof("session.cookie_path") - 1, 0); - zend_alter_ini_entry(ini_name, path, path_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); + zend_alter_ini_entry(ini_name, path, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); zend_string_release(ini_name); } if (domain) { ini_name = zend_string_init("session.cookie_domain", sizeof("session.cookie_domain") - 1, 0); - zend_alter_ini_entry(ini_name, domain, domain_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); + zend_alter_ini_entry(ini_name, domain, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); zend_string_release(ini_name); } if (argc > 3) { ini_name = zend_string_init("session.cookie_secure", sizeof("session.cookie_secure") - 1, 0); - zend_alter_ini_entry(ini_name, secure ? "1" : "0", 1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); + zend_alter_ini_entry_chars(ini_name, secure ? "1" : "0", 1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); zend_string_release(ini_name); } if (argc > 4) { ini_name = zend_string_init("session.cookie_httponly", sizeof("session.cookie_httponly") - 1, 0); - zend_alter_ini_entry(ini_name, httponly ? "1" : "0", 1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); + zend_alter_ini_entry_chars(ini_name, httponly ? "1" : "0", 1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); zend_string_release(ini_name); } } @@ -1706,11 +1705,10 @@ static PHP_FUNCTION(session_get_cookie_params) Return the current session name. If newname is given, the session name is replaced with newname */ static PHP_FUNCTION(session_name) { - char *name = NULL; - size_t name_len; + zend_string *name = NULL; zend_string *ini_name; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &name, &name_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|S", &name) == FAILURE) { return; } @@ -1718,7 +1716,7 @@ static PHP_FUNCTION(session_name) if (name) { ini_name = zend_string_init("session.name", sizeof("session.name") - 1, 0); - zend_alter_ini_entry(ini_name, name, name_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); + zend_alter_ini_entry(ini_name, name, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); zend_string_release(ini_name); } } @@ -1728,11 +1726,10 @@ static PHP_FUNCTION(session_name) Return the current module name used for accessing session data. If newname is given, the module name is replaced with newname */ static PHP_FUNCTION(session_module_name) { - char *name = NULL; - size_t name_len; + zend_string *name = NULL; zend_string *ini_name; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &name, &name_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|S", &name) == FAILURE) { return; } @@ -1744,8 +1741,8 @@ static PHP_FUNCTION(session_module_name) } if (name) { - if (!_php_find_ps_module(name TSRMLS_CC)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot find named PHP session module (%s)", name); + if (!_php_find_ps_module(name->val TSRMLS_CC)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot find named PHP session module (%s)", name->val); zval_dtor(return_value); RETURN_FALSE; @@ -1756,7 +1753,7 @@ static PHP_FUNCTION(session_module_name) PS(mod_data) = NULL; ini_name = zend_string_init("session.save_handler", sizeof("session.save_handler") - 1, 0); - zend_alter_ini_entry(ini_name, name, name_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); + zend_alter_ini_entry(ini_name, name, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); zend_string_release(ini_name); } } @@ -1769,7 +1766,7 @@ static PHP_FUNCTION(session_set_save_handler) zval *args = NULL; int i, num_args, argc = ZEND_NUM_ARGS(); zend_string *name; - zend_string *ini_name; + zend_string *ini_name, *ini_val; if (PS(session_status) != php_session_none) { RETURN_FALSE; @@ -1843,7 +1840,9 @@ static PHP_FUNCTION(session_set_save_handler) if (PS(mod) && PS(session_status) == php_session_none && PS(mod) != &ps_mod_user) { ini_name = zend_string_init("session.save_handler", sizeof("session.save_handler") - 1, 0); - zend_alter_ini_entry(ini_name, "user", sizeof("user") - 1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); + ini_val = zend_string_init("user", sizeof("user") - 1, 0); + zend_alter_ini_entry(ini_name, ini_val, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); + zend_string_release(ini_val); zend_string_release(ini_name); } @@ -1873,7 +1872,9 @@ static PHP_FUNCTION(session_set_save_handler) if (PS(mod) && PS(mod) != &ps_mod_user) { ini_name = zend_string_init("session.save_handler", sizeof("session.save_handler") - 1, 0); - zend_alter_ini_entry(ini_name, "user", sizeof("user")-1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); + ini_val = zend_string_init("user", sizeof("user") - 1, 0); + zend_alter_ini_entry(ini_name, ini_val, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); + zend_string_release(ini_val); zend_string_release(ini_name); } @@ -1892,24 +1893,23 @@ static PHP_FUNCTION(session_set_save_handler) Return the current save path passed to module_name. If newname is given, the save path is replaced with newname */ static PHP_FUNCTION(session_save_path) { - char *name = NULL; - size_t name_len; + zend_string *name = NULL; zend_string *ini_name; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &name, &name_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|S", &name) == FAILURE) { return; } RETVAL_STRING(PS(save_path)); if (name) { - if (memchr(name, '\0', name_len) != NULL) { + if (memchr(name->val, '\0', name->len) != NULL) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "The save_path cannot contain NULL characters"); zval_dtor(return_value); RETURN_FALSE; } ini_name = zend_string_init("session.save_path", sizeof("session.save_path") - 1, 0); - zend_alter_ini_entry(ini_name, name, name_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); + zend_alter_ini_entry(ini_name, name, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); zend_string_release(ini_name); } } @@ -1990,11 +1990,10 @@ static PHP_FUNCTION(session_regenerate_id) Return the current cache limiter. If new_cache_limited is given, the current cache_limiter is replaced with new_cache_limiter */ static PHP_FUNCTION(session_cache_limiter) { - char *limiter = NULL; - size_t limiter_len; + zend_string *limiter = NULL; zend_string *ini_name; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &limiter, &limiter_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|S", &limiter) == FAILURE) { return; } @@ -2002,7 +2001,7 @@ static PHP_FUNCTION(session_cache_limiter) if (limiter) { ini_name = zend_string_init("session.cache_limiter", sizeof("session.cache_limiter") - 1, 0); - zend_alter_ini_entry(ini_name, limiter, limiter_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); + zend_alter_ini_entry(ini_name, limiter, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); zend_string_release(ini_name); } } @@ -2024,7 +2023,7 @@ static PHP_FUNCTION(session_cache_expire) if (expires) { convert_to_string_ex(expires); ini_name = zend_string_init("session.cache_expire", sizeof("session.cache_expire") - 1, 0); - zend_alter_ini_entry(ini_name, Z_STRVAL_P(expires), Z_STRLEN_P(expires), ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME); + zend_alter_ini_entry(ini_name, Z_STR_P(expires), ZEND_INI_USER, ZEND_INI_STAGE_RUNTIME); zend_string_release(ini_name); } } diff --git a/ext/soap/soap.c b/ext/soap/soap.c index a78b9ddeaf..554957d512 100644 --- a/ext/soap/soap.c +++ b/ext/soap/soap.c @@ -479,7 +479,7 @@ ZEND_INI_MH(OnUpdateCacheMode) p = (char*) (base+(size_t) mh_arg1); - *p = (char)atoi(new_value); + *p = (char)atoi(new_value->val); return SUCCESS; } @@ -490,19 +490,19 @@ static PHP_INI_MH(OnUpdateCacheDir) if (stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS) { char *p; - if (memchr(new_value, '\0', new_value_length) != NULL) { + if (memchr(new_value->val, '\0', new_value->len) != NULL) { return FAILURE; } /* we do not use zend_memrchr() since path can contain ; itself */ - if ((p = strchr(new_value, ';'))) { + if ((p = strchr(new_value->val, ';'))) { char *p2; p++; if ((p2 = strchr(p, ';'))) { p = p2 + 1; } } else { - p = new_value; + p = new_value->val; } if (PG(open_basedir) && *p && php_check_open_basedir(p TSRMLS_CC)) { @@ -510,7 +510,7 @@ static PHP_INI_MH(OnUpdateCacheDir) } } - OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); return SUCCESS; } diff --git a/ext/standard/assert.c b/ext/standard/assert.c index 80ea740100..50babfa1d4 100644 --- a/ext/standard/assert.c +++ b/ext/standard/assert.c @@ -58,17 +58,17 @@ static PHP_INI_MH(OnChangeCallback) /* {{{ */ zval_ptr_dtor(&ASSERTG(callback)); ZVAL_UNDEF(&ASSERTG(callback)); } - if (new_value && (Z_TYPE(ASSERTG(callback)) != IS_UNDEF || new_value_length)) { - ZVAL_STRINGL(&ASSERTG(callback), new_value, new_value_length); + if (new_value && (Z_TYPE(ASSERTG(callback)) != IS_UNDEF || new_value->len)) { + ZVAL_STRINGL(&ASSERTG(callback), new_value->val, new_value->len); } } else { if (ASSERTG(cb)) { pefree(ASSERTG(cb), 1); } - if (new_value && new_value_length) { - ASSERTG(cb) = pemalloc(new_value_length + 1, 1); - memcpy(ASSERTG(cb), new_value, new_value_length); - ASSERTG(cb)[new_value_length] = '\0'; + if (new_value && new_value->len) { + ASSERTG(cb) = pemalloc(new_value->len + 1, 1); + memcpy(ASSERTG(cb), new_value->val, new_value->len); + ASSERTG(cb)[new_value->len] = '\0'; } else { ASSERTG(cb) = NULL; } @@ -272,7 +272,7 @@ PHP_FUNCTION(assert_options) if (ac == 2) { zend_string *value_str = zval_get_string(value); key = zend_string_init("assert.active", sizeof("assert.active")-1, 0); - zend_alter_ini_entry_ex(key, value_str->val, value_str->len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC); + zend_alter_ini_entry_ex(key, value_str, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC); zend_string_release(key); zend_string_release(value_str); } @@ -284,7 +284,7 @@ PHP_FUNCTION(assert_options) if (ac == 2) { zend_string *value_str = zval_get_string(value); key = zend_string_init("assert.bail", sizeof("assert.bail")-1, 0); - zend_alter_ini_entry_ex(key, value_str->val, value_str->len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC); + zend_alter_ini_entry_ex(key, value_str, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC); zend_string_release(key); zend_string_release(value_str); } @@ -296,7 +296,7 @@ PHP_FUNCTION(assert_options) if (ac == 2) { zend_string *value_str = zval_get_string(value); key = zend_string_init("assert.quiet_eval", sizeof("assert.quiet_eval")-1, 0); - zend_alter_ini_entry_ex(key, value_str->val, value_str->len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC); + zend_alter_ini_entry_ex(key, value_str, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC); zend_string_release(key); zend_string_release(value_str); } @@ -308,7 +308,7 @@ PHP_FUNCTION(assert_options) if (ac == 2) { zend_string *value_str = zval_get_string(value); key = zend_string_init("assert.warning", sizeof("assert.warning")-1, 0); - zend_alter_ini_entry_ex(key, value_str->val, value_str->len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC); + zend_alter_ini_entry_ex(key, value_str, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC); zend_string_release(key); zend_string_release(value_str); } diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 5cb8aa905a..4ecf4ecbcc 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -5234,27 +5234,30 @@ static int php_ini_get_option(zval *zv TSRMLS_DC, int num_args, va_list args, ze array_init(&option); if (ini_entry->orig_value) { - add_assoc_stringl(&option, "global_value", ini_entry->orig_value, ini_entry->orig_value_length); + add_assoc_stringl(&option, "global_value", ini_entry->orig_value->val, ini_entry->orig_value->len); } else if (ini_entry->value) { - add_assoc_stringl(&option, "global_value", ini_entry->value, ini_entry->value_length); + add_assoc_stringl(&option, "global_value", ini_entry->value->val, ini_entry->value->len); } else { add_assoc_null(&option, "global_value"); } if (ini_entry->value) { - add_assoc_stringl(&option, "local_value", ini_entry->value, ini_entry->value_length); + add_assoc_stringl(&option, "local_value", ini_entry->value->val, ini_entry->value->len); } else { add_assoc_null(&option, "local_value"); } add_assoc_long(&option, "access", ini_entry->modifiable); - add_assoc_zval_ex(ini_array, ini_entry->name, ini_entry->name_length, &option); + zend_symtable_update(Z_ARRVAL_P(ini_array), ini_entry->name, &option); } else { if (ini_entry->value) { - add_assoc_stringl(ini_array, ini_entry->name, ini_entry->value, ini_entry->value_length); + zval zv; + + ZVAL_STR(&zv, ini_entry->value); + zend_symtable_update(Z_ARRVAL_P(ini_array), ini_entry->name, &zv); } else { - add_assoc_null(ini_array, ini_entry->name); + zend_symtable_update(Z_ARRVAL_P(ini_array), ini_entry->name, &EG(uninitialized_zval)); } } } @@ -5305,11 +5308,10 @@ static int php_ini_check_path(char *option_name, int option_len, char *new_optio PHP_FUNCTION(ini_set) { zend_string *varname; - char *new_value; - size_t new_value_len; + zend_string *new_value; char *old_value; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Ss", &varname, &new_value, &new_value_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SS", &varname, &new_value) == FAILURE) { return; } @@ -5331,14 +5333,14 @@ PHP_FUNCTION(ini_set) _CHECK_PATH(varname->val, varname->len, "mail.log") || _CHECK_PATH(varname->val, varname->len, "java.library.path") || _CHECK_PATH(varname->val, varname->len, "vpopmail.directory")) { - if (php_check_open_basedir(new_value TSRMLS_CC)) { + if (php_check_open_basedir(new_value->val TSRMLS_CC)) { zval_dtor(return_value); RETURN_FALSE; } } } - if (zend_alter_ini_entry_ex(varname, new_value, new_value_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC) == FAILURE) { + if (zend_alter_ini_entry_ex(varname, new_value, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC) == FAILURE) { zval_dtor(return_value); RETURN_FALSE; } @@ -5363,12 +5365,11 @@ PHP_FUNCTION(ini_restore) Sets the include_path configuration option */ PHP_FUNCTION(set_include_path) { - char *new_value; - size_t new_value_len; + zend_string *new_value; char *old_value; zend_string *key; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &new_value, &new_value_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S", &new_value) == FAILURE) { return; } @@ -5381,7 +5382,7 @@ PHP_FUNCTION(set_include_path) } key = zend_string_init("include_path", sizeof("include_path") - 1, 0); - if (zend_alter_ini_entry_ex(key, new_value, new_value_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC) == FAILURE) { + if (zend_alter_ini_entry_ex(key, new_value, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC) == FAILURE) { zend_string_release(key); zval_dtor(return_value); RETURN_FALSE; @@ -5471,11 +5472,10 @@ PHP_FUNCTION(connection_status) Set whether we want to ignore a user abort event or not */ PHP_FUNCTION(ignore_user_abort) { - char *arg = NULL; - size_t arg_len = 0; + zend_string *arg = NULL; int old_setting; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &arg, &arg_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|S", &arg) == FAILURE) { return; } @@ -5483,7 +5483,7 @@ PHP_FUNCTION(ignore_user_abort) if (arg) { zend_string *key = zend_string_init("ignore_user_abort", sizeof("ignore_user_abort"), 0); - zend_alter_ini_entry_ex(key, arg, arg_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC); + zend_alter_ini_entry_ex(key, arg, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC); zend_string_release(key); } diff --git a/ext/standard/browscap.c b/ext/standard/browscap.c index cc8a01f4f4..c65d0c55c8 100644 --- a/ext/standard/browscap.c +++ b/ext/standard/browscap.c @@ -296,7 +296,7 @@ PHP_INI_MH(OnChangeBrowscap) if (bdata->filename[0] != '\0') { browscap_bdata_dtor(bdata, 0 TSRMLS_CC); } - if (VCWD_REALPATH(new_value, bdata->filename) == NULL) { + if (VCWD_REALPATH(new_value->val, bdata->filename) == NULL) { return FAILURE; } return SUCCESS; diff --git a/ext/standard/url_scanner_ex.c b/ext/standard/url_scanner_ex.c index 48910515f7..1f085f9c77 100644 --- a/ext/standard/url_scanner_ex.c +++ b/ext/standard/url_scanner_ex.c @@ -58,7 +58,7 @@ static PHP_INI_MH(OnUpdateTags) ctx = &BG(url_adapt_state_ex); - tmp = estrndup(new_value, new_value_length); + tmp = estrndup(new_value->val, new_value->len); if (ctx->tags) zend_hash_destroy(ctx->tags); diff --git a/ext/standard/url_scanner_ex.re b/ext/standard/url_scanner_ex.re index cfee6c31a7..a2cb7ff8d9 100644 --- a/ext/standard/url_scanner_ex.re +++ b/ext/standard/url_scanner_ex.re @@ -56,7 +56,7 @@ static PHP_INI_MH(OnUpdateTags) ctx = &BG(url_adapt_state_ex); - tmp = estrndup(new_value, new_value_length); + tmp = estrndup(new_value->val, new_value->len); if (ctx->tags) zend_hash_destroy(ctx->tags); diff --git a/ext/tidy/tidy.c b/ext/tidy/tidy.c index 820715ca05..7fdf6087b4 100644 --- a/ext/tidy/tidy.c +++ b/ext/tidy/tidy.c @@ -1080,14 +1080,14 @@ static PHP_INI_MH(php_tidy_set_clean_output) int status; zend_bool value; - if (new_value_length==2 && strcasecmp("on", new_value)==0) { + if (new_value->len==2 && strcasecmp("on", new_value->val)==0) { value = (zend_bool) 1; - } else if (new_value_length==3 && strcasecmp("yes", new_value)==0) { + } else if (new_value->len==3 && strcasecmp("yes", new_value->val)==0) { value = (zend_bool) 1; - } else if (new_value_length==4 && strcasecmp("true", new_value)==0) { + } else if (new_value->len==4 && strcasecmp("true", new_value->val)==0) { value = (zend_bool) 1; } else { - value = (zend_bool) atoi(new_value); + value = (zend_bool) atoi(new_value->val); } if (stage == PHP_INI_STAGE_RUNTIME) { @@ -1103,7 +1103,7 @@ static PHP_INI_MH(php_tidy_set_clean_output) } } - status = OnUpdateBool(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + status = OnUpdateBool(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); if (stage == PHP_INI_STAGE_RUNTIME && value) { if (!php_output_handler_started(ZEND_STRL("ob_tidyhandler") TSRMLS_CC)) { diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c index 20346c04e3..b56038dc53 100644 --- a/ext/zlib/zlib.c +++ b/ext/zlib/zlib.c @@ -863,22 +863,28 @@ static const zend_function_entry php_zlib_functions[] = { /* {{{ OnUpdate_zlib_output_compression */ static PHP_INI_MH(OnUpdate_zlib_output_compression) { - int status, int_value; + int int_value; char *ini_value; + zend_long *p; +#ifndef ZTS + char *base = (char *) mh_arg2; +#else + char *base; + + base = (char *) ts_resource(*((int *) mh_arg2)); +#endif if (new_value == NULL) { return FAILURE; } - if (!strncasecmp(new_value, "off", sizeof("off"))) { - new_value = "0"; - new_value_length = sizeof("0"); - } else if (!strncasecmp(new_value, "on", sizeof("on"))) { - new_value = "1"; - new_value_length = sizeof("1"); + if (!strncasecmp(new_value->val, "off", sizeof("off"))) { + int_value = 0; + } else if (!strncasecmp(new_value->val, "on", sizeof("on"))) { + int_value = 1; + } else { + int_value = zend_atoi(new_value->val, new_value->len); } - - int_value = zend_atoi(new_value, new_value_length); ini_value = zend_ini_string("output_handler", sizeof("output_handler"), 0); if (ini_value && *ini_value && int_value) { @@ -886,14 +892,15 @@ static PHP_INI_MH(OnUpdate_zlib_output_compression) return FAILURE; } if (stage == PHP_INI_STAGE_RUNTIME) { - status = php_output_get_status(TSRMLS_C); + int status = php_output_get_status(TSRMLS_C); if (status & PHP_OUTPUT_SENT) { php_error_docref("ref.outcontrol" TSRMLS_CC, E_WARNING, "Cannot change zlib.output_compression - headers already sent"); return FAILURE; } } - status = OnUpdateLong(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + p = (zend_long *) (base+(size_t) mh_arg1); + *p = int_value; ZLIBG(output_compression) = ZLIBG(output_compression_default); if (stage == PHP_INI_STAGE_RUNTIME && int_value) { @@ -902,7 +909,7 @@ static PHP_INI_MH(OnUpdate_zlib_output_compression) } } - return status; + return SUCCESS; } /* }}} */ @@ -914,7 +921,7 @@ static PHP_INI_MH(OnUpdate_zlib_output_handler) return FAILURE; } - return OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + return OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); } /* }}} */ diff --git a/main/SAPI.c b/main/SAPI.c index e80dcb01ec..750b95cc0f 100644 --- a/main/SAPI.c +++ b/main/SAPI.c @@ -790,7 +790,7 @@ SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg TSRMLS_DC) /* Disable possible output compression for images */ if (!strncmp(ptr, "image/", sizeof("image/")-1)) { zend_string *key = zend_string_init("zlib.output_compression", sizeof("zlib.output_compression")-1, 0); - zend_alter_ini_entry(key, "0", sizeof("0") - 1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); + zend_alter_ini_entry_chars(key, "0", sizeof("0") - 1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); zend_string_release(key); } @@ -818,7 +818,7 @@ SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg TSRMLS_DC) * portable between setups that have and don't have zlib compression * enabled globally. See req #44164 */ zend_string *key = zend_string_init("zlib.output_compression", sizeof("zlib.output_compression")-1, 0); - zend_alter_ini_entry(key, + zend_alter_ini_entry_chars(key, "0", sizeof("0") - 1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME); zend_string_release(key); } else if (!STRCASECMP(header_line, "Location")) { diff --git a/main/fopen_wrappers.c b/main/fopen_wrappers.c index 981c5c5a15..e375bdf413 100644 --- a/main/fopen_wrappers.c +++ b/main/fopen_wrappers.c @@ -94,24 +94,24 @@ PHPAPI ZEND_INI_MH(OnUpdateBaseDir) if (stage == PHP_INI_STAGE_STARTUP || stage == PHP_INI_STAGE_SHUTDOWN || stage == PHP_INI_STAGE_ACTIVATE || stage == PHP_INI_STAGE_DEACTIVATE) { /* We're in a PHP_INI_SYSTEM context, no restrictions */ - *p = new_value; + *p = new_value ? new_value->val : NULL; return SUCCESS; } /* Otherwise we're in runtime */ if (!*p || !**p) { /* open_basedir not set yet, go ahead and give it a value */ - *p = new_value; + *p = new_value->val; return SUCCESS; } /* Shortcut: When we have a open_basedir and someone tries to unset, we know it'll fail */ - if (!new_value || !*new_value) { + if (!new_value || !*new_value->val) { return FAILURE; } /* Is the proposed open_basedir at least as restrictive as the current setting? */ - ptr = pathbuf = estrdup(new_value); + ptr = pathbuf = estrdup(new_value->val); while (ptr && *ptr) { end = strchr(ptr, DEFAULT_DIR_SEPARATOR); if (end != NULL) { @@ -128,7 +128,7 @@ PHPAPI ZEND_INI_MH(OnUpdateBaseDir) efree(pathbuf); /* Everything checks out, set it */ - *p = new_value; + *p = new_value->val; return SUCCESS; } diff --git a/main/main.c b/main/main.c index 9338fee8d2..ec457d6412 100644 --- a/main/main.c +++ b/main/main.c @@ -163,7 +163,7 @@ static PHP_INI_MH(OnSetPrecision) { zend_long i; - ZEND_ATOL(i, new_value); + ZEND_ATOL(i, new_value->val); if (i >= 0) { EG(precision) = i; return SUCCESS; @@ -178,7 +178,7 @@ static PHP_INI_MH(OnSetPrecision) static PHP_INI_MH(OnChangeMemoryLimit) { if (new_value) { - PG(memory_limit) = zend_atol(new_value, new_value_length); + PG(memory_limit) = zend_atol(new_value->val, new_value->len); } else { PG(memory_limit) = 1<<30; /* effectively, no limit */ } @@ -319,11 +319,11 @@ static PHP_INI_MH(OnUpdateTimeout) { if (stage==PHP_INI_STAGE_STARTUP) { /* Don't set a timeout on startup, only per-request */ - ZEND_ATOL(EG(timeout_seconds), new_value); + ZEND_ATOL(EG(timeout_seconds), new_value->val); return SUCCESS; } zend_unset_timeout(TSRMLS_C); - ZEND_ATOL(EG(timeout_seconds), new_value); + ZEND_ATOL(EG(timeout_seconds), new_value->val); zend_set_timeout(EG(timeout_seconds), 0); return SUCCESS; } @@ -364,7 +364,7 @@ static int php_get_display_errors_mode(char *value, int value_length) */ static PHP_INI_MH(OnUpdateDisplayErrors) { - PG(display_errors) = (zend_bool) php_get_display_errors_mode(new_value, new_value_length); + PG(display_errors) = (zend_bool) php_get_display_errors_mode(new_value->val, new_value->len); return SUCCESS; } @@ -379,11 +379,11 @@ static PHP_INI_DISP(display_errors_mode) TSRMLS_FETCH(); if (type == ZEND_INI_DISPLAY_ORIG && ini_entry->modified) { - tmp_value = (ini_entry->orig_value ? ini_entry->orig_value : NULL ); - tmp_value_length = ini_entry->orig_value_length; + tmp_value = (ini_entry->orig_value ? ini_entry->orig_value->val : NULL ); + tmp_value_length = ini_entry->orig_value->len; } else if (ini_entry->value) { - tmp_value = ini_entry->value; - tmp_value_length = ini_entry->value_length; + tmp_value = ini_entry->value->val; + tmp_value_length = ini_entry->value->len; } else { tmp_value = NULL; tmp_value_length = 0; @@ -423,9 +423,10 @@ static PHP_INI_DISP(display_errors_mode) static PHP_INI_MH(OnUpdateInternalEncoding) { if (new_value) { - OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); } else { - OnUpdateString(entry, SG(default_charset), strlen(SG(default_charset))+1, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + zend_string *val = zend_string_init(SG(default_charset), strlen(SG(default_charset)), stage != ZEND_INI_STAGE_RUNTIME); + OnUpdateString(entry, val, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); } return SUCCESS; } @@ -436,9 +437,10 @@ static PHP_INI_MH(OnUpdateInternalEncoding) static PHP_INI_MH(OnUpdateInputEncoding) { if (new_value) { - OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); } else { - OnUpdateString(entry, SG(default_charset), strlen(SG(default_charset))+1, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + zend_string *val = zend_string_init(SG(default_charset), strlen(SG(default_charset)), stage != ZEND_INI_STAGE_RUNTIME); + OnUpdateString(entry, val, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); } return SUCCESS; } @@ -449,9 +451,10 @@ static PHP_INI_MH(OnUpdateInputEncoding) static PHP_INI_MH(OnUpdateOutputEncoding) { if (new_value) { - OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); } else { - OnUpdateString(entry, SG(default_charset), strlen(SG(default_charset))+1, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + zend_string *val = zend_string_init(SG(default_charset), strlen(SG(default_charset)), stage != ZEND_INI_STAGE_RUNTIME); + OnUpdateString(entry, val, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); } return SUCCESS; } @@ -462,12 +465,12 @@ static PHP_INI_MH(OnUpdateOutputEncoding) static PHP_INI_MH(OnUpdateErrorLog) { /* Only do the safemode/open_basedir check at runtime */ - if ((stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS) && new_value && strcmp(new_value, "syslog")) { - if (PG(open_basedir) && php_check_open_basedir(new_value TSRMLS_CC)) { + if ((stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS) && new_value && strcmp(new_value->val, "syslog")) { + if (PG(open_basedir) && php_check_open_basedir(new_value->val TSRMLS_CC)) { return FAILURE; } } - OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); return SUCCESS; } /* }}} */ @@ -478,11 +481,11 @@ static PHP_INI_MH(OnUpdateMailLog) { /* Only do the safemode/open_basedir check at runtime */ if ((stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS) && new_value) { - if (PG(open_basedir) && php_check_open_basedir(new_value TSRMLS_CC)) { + if (PG(open_basedir) && php_check_open_basedir(new_value->val TSRMLS_CC)) { return FAILURE; } } - OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); + OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); return SUCCESS; } /* }}} */ @@ -1341,7 +1344,7 @@ PHP_FUNCTION(set_time_limit) new_timeout_strlen = zend_spprintf(&new_timeout_str, 0, ZEND_LONG_FMT, new_timeout); key = zend_string_init("max_execution_time", sizeof("max_execution_time")-1, 0); - if (zend_alter_ini_entry_ex(key, new_timeout_str, new_timeout_strlen, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC) == SUCCESS) { + if (zend_alter_ini_entry_chars_ex(key, new_timeout_str, new_timeout_strlen, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC) == SUCCESS) { RETVAL_TRUE; } else { RETVAL_FALSE; @@ -1439,16 +1442,9 @@ static char *php_resolve_path_for_zend(const char *filename, int filename_len TS /* {{{ php_get_configuration_directive_for_zend */ -static int php_get_configuration_directive_for_zend(const char *name, uint name_length, zval *contents) +static zval *php_get_configuration_directive_for_zend(zend_string *name) { - zval *retval = cfg_get_entry(name, name_length); - - if (retval) { - *contents = *retval; - return SUCCESS; - } else { - return FAILURE; - } + return cfg_get_entry_ex(name); } /* }}} */ diff --git a/main/php_ini.c b/main/php_ini.c index 783802c806..38dcf72747 100644 --- a/main/php_ini.c +++ b/main/php_ini.c @@ -83,9 +83,9 @@ static void php_ini_displayer_cb(zend_ini_entry *ini_entry, int type TSRMLS_DC) uint display_string_length, esc_html=0; if (type == ZEND_INI_DISPLAY_ORIG && ini_entry->modified) { - if (ini_entry->orig_value && ini_entry->orig_value[0]) { - display_string = ini_entry->orig_value; - display_string_length = ini_entry->orig_value_length; + if (ini_entry->orig_value && ini_entry->orig_value->val[0]) { + display_string = ini_entry->orig_value->val; + display_string_length = ini_entry->orig_value->len; esc_html = !sapi_module.phpinfo_as_text; } else { if (!sapi_module.phpinfo_as_text) { @@ -96,9 +96,9 @@ static void php_ini_displayer_cb(zend_ini_entry *ini_entry, int type TSRMLS_DC) display_string_length = sizeof("no value") - 1; } } - } else if (ini_entry->value && ini_entry->value[0]) { - display_string = ini_entry->value; - display_string_length = ini_entry->value_length; + } else if (ini_entry->value && ini_entry->value->val[0]) { + display_string = ini_entry->value->val; + display_string_length = ini_entry->value->len; esc_html = !sapi_module.phpinfo_as_text; } else { if (!sapi_module.phpinfo_as_text) { @@ -132,14 +132,14 @@ static int php_ini_displayer(zval *el, void *arg TSRMLS_DC) if (!sapi_module.phpinfo_as_text) { PUTS(""); PUTS(""); - PHPWRITE(ini_entry->name, ini_entry->name_length); + PHPWRITE(ini_entry->name->val, ini_entry->name->len); PUTS(""); php_ini_displayer_cb(ini_entry, ZEND_INI_DISPLAY_ACTIVE TSRMLS_CC); PUTS(""); php_ini_displayer_cb(ini_entry, ZEND_INI_DISPLAY_ORIG TSRMLS_CC); PUTS("\n"); } else { - PHPWRITE(ini_entry->name, ini_entry->name_length); + PHPWRITE(ini_entry->name->val, ini_entry->name->len); PUTS(" => "); php_ini_displayer_cb(ini_entry, ZEND_INI_DISPLAY_ACTIVE TSRMLS_CC); PUTS(" => "); @@ -355,7 +355,6 @@ static void php_load_php_extension_cb(void *arg TSRMLS_DC) static void php_load_zend_extension_cb(void *arg TSRMLS_DC) { char *filename = *((char **) arg); - const int length = strlen(filename); if (IS_ABSOLUTE_PATH(filename, length)) { zend_load_extension(filename TSRMLS_CC); @@ -786,7 +785,7 @@ PHPAPI void php_ini_activate_config(HashTable *source_hash, int modify_type, int zend_hash_move_forward(source_hash) ) { data = zend_hash_get_current_data(source_hash); - zend_alter_ini_entry_ex(str, Z_STRVAL_P(data), Z_STRLEN_P(data), modify_type, stage, 0 TSRMLS_CC); + zend_alter_ini_entry_ex(str, Z_STR_P(data), modify_type, stage, 0 TSRMLS_CC); } } /* }}} */ @@ -865,6 +864,14 @@ PHPAPI void php_ini_activate_per_host_config(const char *host, uint host_len TSR } /* }}} */ +/* {{{ cfg_get_entry + */ +PHPAPI zval *cfg_get_entry_ex(zend_string *name) +{ + return zend_hash_find(&configuration_hash, name); +} +/* }}} */ + /* {{{ cfg_get_entry */ PHPAPI zval *cfg_get_entry(const char *name, uint name_length) diff --git a/main/php_ini.h b/main/php_ini.h index 5e6f03680a..2e118d14e3 100644 --- a/main/php_ini.h +++ b/main/php_ini.h @@ -28,6 +28,7 @@ PHPAPI void config_zval_dtor(zval *zvalue); int php_init_config(TSRMLS_D); int php_shutdown_config(void); void php_ini_register_extensions(TSRMLS_D); +PHPAPI zval *cfg_get_entry_ex(zend_string *name); PHPAPI zval *cfg_get_entry(const char *name, uint name_length); PHPAPI int cfg_get_long(const char *varname, zend_long *result); PHPAPI int cfg_get_double(const char *varname, double *result); diff --git a/sapi/fpm/fpm/fpm_php.c b/sapi/fpm/fpm/fpm_php.c index 7112cb923b..e0de217c00 100644 --- a/sapi/fpm/fpm/fpm_php.c +++ b/sapi/fpm/fpm/fpm_php.c @@ -26,22 +26,21 @@ static char **limit_extensions = NULL; static int fpm_php_zend_ini_alter_master(char *name, int name_length, char *new_value, int new_value_length, int mode, int stage TSRMLS_DC) /* {{{ */ { zend_ini_entry *ini_entry; - char *duplicate; + zend_string *duplicate; if ((ini_entry = zend_hash_str_find_ptr(EG(ini_directives), name, name_length))) { return FAILURE; } - duplicate = strdup(new_value); + duplicate = zend_string_init(new_value, new_value_length, 1); if (!ini_entry->on_modify - || ini_entry->on_modify(ini_entry, duplicate, new_value_length, + || ini_entry->on_modify(ini_entry, duplicate, ini_entry->mh_arg1, ini_entry->mh_arg2, ini_entry->mh_arg3, stage TSRMLS_CC) == SUCCESS) { ini_entry->value = duplicate; - ini_entry->value_length = new_value_length; ini_entry->modifiable = mode; } else { - free(duplicate); + zend_string_release(duplicate); } return SUCCESS; @@ -92,7 +91,7 @@ int fpm_php_apply_defines_ex(struct key_value_s *kv, int mode) /* {{{ */ return Z_TYPE(zv) == IS_TRUE; } - if (fpm_php_zend_ini_alter_master(name, name_len+1, value, value_len, mode, PHP_INI_STAGE_ACTIVATE TSRMLS_CC) == FAILURE) { + if (fpm_php_zend_ini_alter_master(name, name_len, value, value_len, mode, PHP_INI_STAGE_ACTIVATE TSRMLS_CC) == FAILURE) { return -1; } -- 2.50.1