From: Pierre Joye Date: Mon, 10 Mar 2014 11:18:57 +0000 (+0100) Subject: Merge branch 'PHP-5.5' into PHP-5.6 X-Git-Tag: PRE_PHPNG_MERGE~500^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=eef2978afc24c233df5c6d1260f023fa64328c88;p=php Merge branch 'PHP-5.5' into PHP-5.6 * PHP-5.5: update NEWS fix #66872, invalid argument crashes gmp_testbit fix #66872, invalid argument crashes gmp_testbit add vc12 (2013) Conflicts: ext/gmp/gmp.c --- eef2978afc24c233df5c6d1260f023fa64328c88 diff --cc Zend/zend_ini_scanner.c index 521e98e257,521e98e257..c73f3cedda --- a/Zend/zend_ini_scanner.c +++ b/Zend/zend_ini_scanner.c @@@ -1,4663 -1,4663 +1,4663 @@@ --/* Generated by re2c 0.13.5 */ --#line 1 "Zend/zend_ini_scanner.l" --/* -- +----------------------------------------------------------------------+ -- | Zend Engine | -- +----------------------------------------------------------------------+ -- | Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) | -- +----------------------------------------------------------------------+ -- | This source file is subject to version 2.00 of the Zend license, | -- | that is bundled with this package in the file LICENSE, and is | -- | available through the world-wide-web at the following url: | -- | http://www.zend.com/license/2_00.txt. | -- | If you did not receive a copy of the Zend license and are unable to | -- | obtain it through the world-wide-web, please send a note to | -- | license@zend.com so we can mail you a copy immediately. | -- +----------------------------------------------------------------------+ -- | Authors: Zeev Suraski | -- | Jani Taskinen | -- | Marcus Boerger | -- | Nuno Lopes | -- | Scott MacVicar | -- +----------------------------------------------------------------------+ --*/ -- --/* $Id$ */ -- --#include --#include "zend.h" --#include "zend_globals.h" --#include --#include "zend_ini_scanner.h" -- --#if 0 --# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c) --#else --# define YYDEBUG(s, c) --#endif -- --#include "zend_ini_scanner_defs.h" -- --#define YYCTYPE unsigned char --/* allow the scanner to read one null byte after the end of the string (from ZEND_MMAP_AHEAD) -- * so that if will be able to terminate to match the current token (e.g. non-enclosed string) */ --#define YYFILL(n) { if (YYCURSOR > YYLIMIT) return 0; } --#define YYCURSOR SCNG(yy_cursor) --#define YYLIMIT SCNG(yy_limit) --#define YYMARKER SCNG(yy_marker) -- --#define YYGETCONDITION() SCNG(yy_state) --#define YYSETCONDITION(s) SCNG(yy_state) = s -- --#define STATE(name) yyc##name -- --/* emulate flex constructs */ --#define BEGIN(state) YYSETCONDITION(STATE(state)) --#define YYSTATE YYGETCONDITION() --#define yytext ((char*)SCNG(yy_text)) --#define yyleng SCNG(yy_leng) --#define yyless(x) do { YYCURSOR = (unsigned char*)yytext + x; \ -- yyleng = (unsigned int)x; } while(0) -- --/* #define yymore() goto yymore_restart */ -- --/* perform sanity check. If this message is triggered you should -- increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */ --#define YYMAXFILL 6 --#if ZEND_MMAP_AHEAD < (YYMAXFILL + 1) --# error ZEND_MMAP_AHEAD should be greater than YYMAXFILL --#endif -- -- --/* How it works (for the core ini directives): -- * =========================================== -- * -- * 1. Scanner scans file for tokens and passes them to parser. -- * 2. Parser parses the tokens and passes the name/value pairs to the callback -- * function which stores them in the configuration hash table. -- * 3. Later REGISTER_INI_ENTRIES() is called which triggers the actual -- * registering of ini entries and uses zend_get_configuration_directive() -- * to fetch the previously stored name/value pair from configuration hash table -- * and registers the static ini entries which match the name to the value -- * into EG(ini_directives) hash table. -- * 4. PATH section entries are used per-request from down to top, each overriding -- * previous if one exists. zend_alter_ini_entry() is called for each entry. -- * Settings in PATH section are ZEND_INI_SYSTEM accessible and thus mimics the -- * php_admin_* directives used within Apache httpd.conf when PHP is compiled as -- * module for Apache. -- * 5. User defined ini files (like .htaccess for apache) are parsed for each request and -- * stored in separate hash defined by SAPI. -- */ -- --/* TODO: (ordered by importance :-) -- * =============================================================================== -- * -- * - Separate constant lookup totally from plain strings (using CONSTANT pattern) -- * - Add #if .. #else .. #endif and ==, !=, <, > , <=, >= operators -- * - Add #include "some.ini" -- * - Allow variables to refer to options also when using parse_ini_file() -- * -- */ -- --/* Globals Macros */ --#define SCNG INI_SCNG --#ifdef ZTS --ZEND_API ts_rsrc_id ini_scanner_globals_id; --#else --ZEND_API zend_ini_scanner_globals ini_scanner_globals; --#endif -- --/* Eat leading whitespace */ --#define EAT_LEADING_WHITESPACE() \ -- while (yytext[0]) { \ -- if (yytext[0] == ' ' || yytext[0] == '\t') { \ -- SCNG(yy_text)++; \ -- yyleng--; \ -- } else { \ -- break; \ -- } \ -- } -- --/* Eat trailing whitespace + extra char */ --#define EAT_TRAILING_WHITESPACE_EX(ch) \ -- while (yyleng > 0 && ( \ -- (ch != 'X' && yytext[yyleng - 1] == ch) || \ -- yytext[yyleng - 1] == '\n' || \ -- yytext[yyleng - 1] == '\r' || \ -- yytext[yyleng - 1] == '\t' || \ -- yytext[yyleng - 1] == ' ') \ -- ) { \ -- yyleng--; \ -- } -- --/* Eat trailing whitespace */ --#define EAT_TRAILING_WHITESPACE() EAT_TRAILING_WHITESPACE_EX('X') -- --#define zend_ini_copy_value(retval, str, len) { \ -- Z_STRVAL_P(retval) = zend_strndup(str, len); \ -- Z_STRLEN_P(retval) = len; \ -- Z_TYPE_P(retval) = IS_STRING; \ --} -- --#define RETURN_TOKEN(type, str, len) { \ -- zend_ini_copy_value(ini_lval, str, len); \ -- return type; \ --} -- --static void _yy_push_state(int new_state TSRMLS_DC) --{ -- zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION(), sizeof(int)); -- YYSETCONDITION(new_state); --} -- --#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm) -- --static void yy_pop_state(TSRMLS_D) --{ -- int *stack_state; -- zend_stack_top(&SCNG(state_stack), (void **) &stack_state); -- YYSETCONDITION(*stack_state); -- zend_stack_del_top(&SCNG(state_stack)); --} -- --static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC) --{ -- YYCURSOR = (YYCTYPE*)str; -- SCNG(yy_start) = YYCURSOR; -- YYLIMIT = YYCURSOR + len; --} -- --#define ini_filename SCNG(filename) -- --/* {{{ init_ini_scanner() --*/ --static int init_ini_scanner(int scanner_mode, zend_file_handle *fh TSRMLS_DC) --{ -- /* Sanity check */ -- if (scanner_mode != ZEND_INI_SCANNER_NORMAL && scanner_mode != ZEND_INI_SCANNER_RAW) { -- zend_error(E_WARNING, "Invalid scanner mode"); -- return FAILURE; -- } -- -- SCNG(lineno) = 1; -- SCNG(scanner_mode) = scanner_mode; -- SCNG(yy_in) = fh; -- -- if (fh != NULL) { -- ini_filename = zend_strndup(fh->filename, strlen(fh->filename)); -- } else { -- ini_filename = NULL; -- } -- -- zend_stack_init(&SCNG(state_stack)); -- BEGIN(INITIAL); -- -- return SUCCESS; --} --/* }}} */ -- --/* {{{ shutdown_ini_scanner() --*/ --void shutdown_ini_scanner(TSRMLS_D) --{ -- zend_stack_destroy(&SCNG(state_stack)); -- if (ini_filename) { -- free(ini_filename); -- } --} --/* }}} */ -- --/* {{{ zend_ini_scanner_get_lineno() --*/ --int zend_ini_scanner_get_lineno(TSRMLS_D) --{ -- return SCNG(lineno); --} --/* }}} */ -- --/* {{{ zend_ini_scanner_get_filename() --*/ --char *zend_ini_scanner_get_filename(TSRMLS_D) --{ -- return ini_filename ? ini_filename : "Unknown"; --} --/* }}} */ -- --/* {{{ zend_ini_open_file_for_scanning() --*/ --int zend_ini_open_file_for_scanning(zend_file_handle *fh, int scanner_mode TSRMLS_DC) --{ -- char *buf; -- size_t size; -- -- if (zend_stream_fixup(fh, &buf, &size TSRMLS_CC) == FAILURE) { -- return FAILURE; -- } -- -- if (init_ini_scanner(scanner_mode, fh TSRMLS_CC) == FAILURE) { -- zend_file_handle_dtor(fh TSRMLS_CC); -- return FAILURE; -- } -- -- yy_scan_buffer(buf, size TSRMLS_CC); -- -- return SUCCESS; --} --/* }}} */ -- --/* {{{ zend_ini_prepare_string_for_scanning() --*/ --int zend_ini_prepare_string_for_scanning(char *str, int scanner_mode TSRMLS_DC) --{ -- int len = strlen(str); -- -- if (init_ini_scanner(scanner_mode, NULL TSRMLS_CC) == FAILURE) { -- return FAILURE; -- } -- -- yy_scan_buffer(str, len TSRMLS_CC); -- -- return SUCCESS; --} --/* }}} */ -- --/* {{{ zend_ini_escape_string() -- */ --static void zend_ini_escape_string(zval *lval, char *str, int len, char quote_type TSRMLS_DC) --{ -- register char *s, *t; -- char *end; -- -- zend_ini_copy_value(lval, str, len); -- -- /* convert escape sequences */ -- s = t = Z_STRVAL_P(lval); -- end = s + Z_STRLEN_P(lval); -- -- while (s < end) { -- if (*s == '\\') { -- s++; -- if (s >= end) { -- *t++ = '\\'; -- continue; -- } -- switch (*s) { -- case '"': -- if (*s != quote_type) { -- *t++ = '\\'; -- *t++ = *s; -- break; -- } -- case '\\': -- case '$': -- *t++ = *s; -- Z_STRLEN_P(lval)--; -- break; -- default: -- *t++ = '\\'; -- *t++ = *s; -- break; -- } -- } else { -- *t++ = *s; -- } -- if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) { -- SCNG(lineno)++; -- } -- s++; -- } -- *t = 0; --} --/* }}} */ -- --int ini_lex(zval *ini_lval TSRMLS_DC) --{ --restart: -- SCNG(yy_text) = YYCURSOR; -- --/* yymore_restart: */ -- /* detect EOF */ -- if (YYCURSOR >= YYLIMIT) { -- if (YYSTATE == STATE(ST_VALUE) || YYSTATE == STATE(ST_RAW)) { -- BEGIN(INITIAL); -- return END_OF_LINE; -- } -- return 0; -- } -- -- /* Eat any UTF-8 BOM we find in the first 3 bytes */ -- if (YYCURSOR == SCNG(yy_start) && YYCURSOR + 3 < YYLIMIT) { -- if (memcmp(YYCURSOR, "\xef\xbb\xbf", 3) == 0) { -- YYCURSOR += 3; -- goto restart; -- } -- } -- --#line 337 "Zend/zend_ini_scanner.c" --{ -- YYCTYPE yych; -- unsigned int yyaccept = 0; -- if (YYGETCONDITION() < 4) { -- if (YYGETCONDITION() < 2) { -- if (YYGETCONDITION() < 1) { -- goto yyc_INITIAL; -- } else { -- goto yyc_ST_OFFSET; -- } -- } else { -- if (YYGETCONDITION() < 3) { -- goto yyc_ST_SECTION_VALUE; -- } else { -- goto yyc_ST_VALUE; -- } -- } -- } else { -- if (YYGETCONDITION() < 6) { -- if (YYGETCONDITION() < 5) { -- goto yyc_ST_SECTION_RAW; -- } else { -- goto yyc_ST_DOUBLE_QUOTES; -- } -- } else { -- if (YYGETCONDITION() < 7) { -- goto yyc_ST_VARNAME; -- } else { -- goto yyc_ST_RAW; -- } -- } -- } --/* *********************************** */ --yyc_INITIAL: -- { -- static const unsigned char yybm[] = { -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 160, 0, 144, 144, 0, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 240, 128, 128, 144, 128, 144, 128, 144, -- 128, 128, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 128, 144, 128, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 128, 144, 144, 128, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 128, 128, 128, 128, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- 144, 144, 144, 144, 144, 144, 144, 144, -- }; -- -- YYDEBUG(0, *YYCURSOR); -- YYFILL(5); -- yych = *YYCURSOR; -- YYDEBUG(-1, yych); -- switch (yych) { -- case '\t': goto yy4; -- case '\n': goto yy6; -- case '\r': goto yy8; -- case ' ': goto yy9; -- case '!': -- case '"': -- case '$': -- case '&': -- case '(': -- case ')': -- case '^': -- case '{': -- case '|': -- case '}': -- case '~': goto yy10; -- case '#': goto yy12; -- case '%': -- case '\'': -- case '*': -- case '+': -- case ',': -- case '-': -- case '.': -- case '/': -- case ':': -- case '<': -- case '>': -- case '?': -- case '@': -- case ']': goto yy13; -- case ';': goto yy14; -- case '=': goto yy16; -- case 'F': -- case 'f': goto yy18; -- case 'N': -- case 'n': goto yy19; -- case 'O': -- case 'o': goto yy20; -- case 'T': -- case 't': goto yy21; -- case 'Y': -- case 'y': goto yy22; -- case '[': goto yy23; -- default: goto yy2; -- } --yy2: -- YYDEBUG(2, *YYCURSOR); -- ++YYCURSOR; -- yych = *YYCURSOR; -- goto yy26; --yy3: -- YYDEBUG(3, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 429 "Zend/zend_ini_scanner.l" -- { /* Get option name */ -- /* Eat leading whitespace */ -- EAT_LEADING_WHITESPACE(); -- -- /* Eat trailing whitespace */ -- EAT_TRAILING_WHITESPACE(); -- -- RETURN_TOKEN(TC_LABEL, yytext, yyleng); --} --#line 476 "Zend/zend_ini_scanner.c" --yy4: -- YYDEBUG(4, *YYCURSOR); -- yyaccept = 0; -- yych = *(YYMARKER = ++YYCURSOR); -- goto yy68; --yy5: -- YYDEBUG(5, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 575 "Zend/zend_ini_scanner.l" -- { -- /* eat whitespace */ -- goto restart; --} --#line 490 "Zend/zend_ini_scanner.c" --yy6: -- YYDEBUG(6, *YYCURSOR); -- ++YYCURSOR; --yy7: -- YYDEBUG(7, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 580 "Zend/zend_ini_scanner.l" -- { -- SCNG(lineno)++; -- return END_OF_LINE; --} --#line 502 "Zend/zend_ini_scanner.c" --yy8: -- YYDEBUG(8, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych == '\n') goto yy71; -- goto yy7; --yy9: -- YYDEBUG(9, *YYCURSOR); -- yyaccept = 1; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= ' ') { -- if (yych <= '\n') { -- if (yych <= 0x08) goto yy26; -- if (yych <= '\t') goto yy67; -- goto yy71; -- } else { -- if (yych == '\r') goto yy72; -- if (yych <= 0x1F) goto yy26; -- goto yy69; -- } -- } else { -- if (yych <= ':') { -- if (yych == '#') goto yy58; -- goto yy26; -- } else { -- if (yych <= ';') goto yy53; -- if (yych == '=') goto yy51; -- goto yy26; -- } -- } --yy10: -- YYDEBUG(10, *YYCURSOR); -- ++YYCURSOR; -- YYDEBUG(11, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 503 "Zend/zend_ini_scanner.l" -- { /* Disallow these chars outside option values */ -- return yytext[0]; --} --#line 541 "Zend/zend_ini_scanner.c" --yy12: -- YYDEBUG(12, *YYCURSOR); -- yyaccept = 1; -- yych = *(YYMARKER = ++YYCURSOR); -- goto yy59; --yy13: -- YYDEBUG(13, *YYCURSOR); -- yych = *++YYCURSOR; -- goto yy26; --yy14: -- YYDEBUG(14, *YYCURSOR); -- yyaccept = 2; -- yych = *(YYMARKER = ++YYCURSOR); -- goto yy54; -- YYDEBUG(15, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 603 "Zend/zend_ini_scanner.l" -- { -- return 0; --} --#line 562 "Zend/zend_ini_scanner.c" --yy16: -- YYDEBUG(16, *YYCURSOR); -- ++YYCURSOR; -- yych = *YYCURSOR; -- goto yy52; --yy17: -- YYDEBUG(17, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 439 "Zend/zend_ini_scanner.l" -- { /* Start option value */ -- if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) { -- yy_push_state(ST_RAW TSRMLS_CC); -- } else { -- yy_push_state(ST_VALUE TSRMLS_CC); -- } -- return '='; --} --#line 580 "Zend/zend_ini_scanner.c" --yy18: -- YYDEBUG(18, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych == 'A') goto yy48; -- if (yych == 'a') goto yy48; -- goto yy26; --yy19: -- YYDEBUG(19, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych <= 'U') { -- if (yych == 'O') goto yy44; -- if (yych <= 'T') goto yy26; -- goto yy45; -- } else { -- if (yych <= 'o') { -- if (yych <= 'n') goto yy26; -- goto yy44; -- } else { -- if (yych == 'u') goto yy45; -- goto yy26; -- } -- } --yy20: -- YYDEBUG(20, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych <= 'N') { -- if (yych == 'F') goto yy38; -- if (yych <= 'M') goto yy26; -- goto yy31; -- } else { -- if (yych <= 'f') { -- if (yych <= 'e') goto yy26; -- goto yy38; -- } else { -- 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 == 'E') goto yy27; -- if (yych == 'e') goto yy27; -- goto yy26; --yy23: -- YYDEBUG(23, *YYCURSOR); -- ++YYCURSOR; -- YYDEBUG(24, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 358 "Zend/zend_ini_scanner.l" -- { /* Section start */ -- /* Enter section data lookup state */ -- if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) { -- yy_push_state(ST_SECTION_RAW TSRMLS_CC); -- } else { -- yy_push_state(ST_SECTION_VALUE TSRMLS_CC); -- } -- return TC_SECTION; --} --#line 646 "Zend/zend_ini_scanner.c" --yy25: -- YYDEBUG(25, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; --yy26: -- YYDEBUG(26, *YYCURSOR); -- if (yybm[0+yych] & 16) { -- goto yy25; -- } -- 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); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(29, *YYCURSOR); -- if (yybm[0+yych] & 32) { -- goto yy28; -- } -- YYDEBUG(30, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 383 "Zend/zend_ini_scanner.l" -- { /* Start of option with offset */ -- /* Eat leading whitespace */ -- EAT_LEADING_WHITESPACE(); -- -- /* Eat trailing whitespace and [ */ -- EAT_TRAILING_WHITESPACE_EX('['); -- -- /* Enter offset lookup state */ -- yy_push_state(ST_OFFSET TSRMLS_CC); -- -- RETURN_TOKEN(TC_OFFSET, yytext, yyleng); --} --#line 689 "Zend/zend_ini_scanner.c" --yy31: -- YYDEBUG(31, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(32, *YYCURSOR); -- if (yybm[0+yych] & 64) { -- goto yy31; -- } -- if (yych <= '\'') { -- if (yych <= ' ') { -- if (yych <= '\n') { -- if (yych <= 0x08) goto yy25; -- if (yych <= '\t') goto yy34; -- } else { -- if (yych != '\r') goto yy25; -- } -- } else { -- if (yych <= '$') { -- if (yych == '#') goto yy25; -- } else { -- if (yych != '&') goto yy25; -- } -- } -- } else { -- if (yych <= 'Z') { -- if (yych <= ';') { -- if (yych <= ')') goto yy33; -- if (yych <= ':') goto yy25; -- } else { -- if (yych != '=') goto yy25; -- } -- } else { -- if (yych <= '^') { -- if (yych <= '[') goto yy28; -- if (yych <= ']') goto yy25; -- } else { -- if (yych <= 'z') goto yy25; -- if (yych >= 0x7F) goto yy25; -- } -- } -- } --yy33: -- YYDEBUG(33, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 421 "Zend/zend_ini_scanner.l" -- { /* TRUE value (when used outside option value/offset this causes parse error!) */ -- RETURN_TOKEN(BOOL_TRUE, "1", 1); --} --#line 739 "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); -- yych = *++YYCURSOR; -- if (yych == 'U') goto yy37; -- if (yych != 'u') goto yy26; --yy37: -- YYDEBUG(37, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych == 'E') goto yy31; -- if (yych == 'e') goto yy31; -- goto yy26; --yy38: -- YYDEBUG(38, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych == 'F') goto yy39; -- if (yych != 'f') goto yy26; --yy39: -- YYDEBUG(39, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(40, *YYCURSOR); -- if (yych <= '&') { -- if (yych <= 0x1F) { -- if (yych <= '\n') { -- if (yych <= 0x08) goto yy25; -- if (yych <= '\t') goto yy42; -- } else { -- if (yych != '\r') goto yy25; -- } -- } else { -- if (yych <= '#') { -- if (yych <= ' ') goto yy39; -- if (yych >= '#') goto yy25; -- } else { -- if (yych == '%') goto yy25; -- } -- } -- } else { -- if (yych <= '=') { -- if (yych <= ':') { -- if (yych <= '\'') goto yy25; -- if (yych >= '*') goto yy25; -- } else { -- if (yych == '<') goto yy25; -- } -- } else { -- if (yych <= ']') { -- if (yych == '[') goto yy28; -- goto yy25; -- } else { -- if (yych <= '^') goto yy41; -- if (yych <= 'z') goto yy25; -- if (yych >= 0x7F) goto yy25; -- } -- } -- } --yy41: -- YYDEBUG(41, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 425 "Zend/zend_ini_scanner.l" -- { /* FALSE value (when used outside option value/offset this causes parse error!)*/ -- RETURN_TOKEN(BOOL_FALSE, "", 0); --} --#line 813 "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); -- yych = *++YYCURSOR; -- if (yych <= '\'') { -- if (yych <= 0x1F) { -- if (yych <= '\n') { -- if (yych <= 0x08) goto yy26; -- if (yych <= '\t') goto yy42; -- goto yy41; -- } else { -- if (yych == '\r') goto yy41; -- goto yy26; -- } -- } else { -- if (yych <= '#') { -- if (yych <= ' ') goto yy39; -- if (yych <= '"') goto yy41; -- goto yy26; -- } else { -- if (yych == '%') goto yy26; -- if (yych <= '&') goto yy41; -- goto yy26; -- } -- } -- } else { -- if (yych <= 'N') { -- if (yych <= ';') { -- if (yych <= ')') goto yy41; -- if (yych <= ':') goto yy26; -- goto yy41; -- } else { -- if (yych == '=') goto yy41; -- if (yych <= 'M') goto yy26; -- goto yy47; -- } -- } else { -- if (yych <= 'm') { -- if (yych == '^') goto yy41; -- goto yy26; -- } else { -- if (yych <= 'n') goto yy47; -- 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 yy39; -- if (yych == 'l') goto yy39; -- goto yy26; --yy47: -- YYDEBUG(47, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych == 'E') goto yy39; -- if (yych == 'e') goto yy39; -- goto yy26; --yy48: -- YYDEBUG(48, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych == 'L') goto yy49; -- if (yych != 'l') goto yy26; --yy49: -- YYDEBUG(49, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych == 'S') goto yy50; -- if (yych != 's') goto yy26; --yy50: -- YYDEBUG(50, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych == 'E') goto yy39; -- if (yych == 'e') goto yy39; -- goto yy26; --yy51: -- YYDEBUG(51, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; --yy52: -- YYDEBUG(52, *YYCURSOR); -- if (yych == '\t') goto yy51; -- if (yych == ' ') goto yy51; -- goto yy17; --yy53: -- YYDEBUG(53, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(2); -- yych = *YYCURSOR; --yy54: -- YYDEBUG(54, *YYCURSOR); -- if (yybm[0+yych] & 128) { -- goto yy53; -- } -- if (yych >= '\r') goto yy57; --yy55: -- YYDEBUG(55, *YYCURSOR); -- ++YYCURSOR; --yy56: -- YYDEBUG(56, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 585 "Zend/zend_ini_scanner.l" -- { /* Comment */ -- BEGIN(INITIAL); -- SCNG(lineno)++; -- return END_OF_LINE; --} --#line 936 "Zend/zend_ini_scanner.c" --yy57: -- YYDEBUG(57, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych == '\n') goto yy55; -- goto yy56; --yy58: -- YYDEBUG(58, *YYCURSOR); -- yyaccept = 1; -- YYMARKER = ++YYCURSOR; -- YYFILL(2); -- yych = *YYCURSOR; --yy59: -- YYDEBUG(59, *YYCURSOR); -- if (yych <= '\'') { -- if (yych <= ' ') { -- if (yych <= '\n') { -- if (yych <= 0x08) goto yy58; -- if (yych >= '\n') goto yy64; -- } else { -- if (yych == '\r') goto yy66; -- goto yy58; -- } -- } else { -- if (yych <= '$') { -- if (yych == '#') goto yy58; -- } else { -- if (yych != '&') goto yy58; -- } -- } -- } else { -- if (yych <= 'Z') { -- if (yych <= ';') { -- if (yych <= ')') goto yy60; -- if (yych <= ':') goto yy58; -- } else { -- if (yych != '=') goto yy58; -- } -- } else { -- if (yych <= '^') { -- if (yych <= '[') goto yy62; -- if (yych <= ']') goto yy58; -- } else { -- if (yych <= 'z') goto yy58; -- if (yych >= 0x7F) goto yy58; -- } -- } -- } --yy60: -- YYDEBUG(60, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(2); -- yych = *YYCURSOR; -- YYDEBUG(61, *YYCURSOR); -- if (yych == '\n') goto yy64; -- if (yych == '\r') goto yy66; -- goto yy60; --yy62: -- YYDEBUG(62, *YYCURSOR); -- yyaccept = 3; -- YYMARKER = ++YYCURSOR; -- YYFILL(2); -- yych = *YYCURSOR; -- YYDEBUG(63, *YYCURSOR); -- if (yych <= '\f') { -- if (yych <= 0x08) goto yy60; -- if (yych <= '\t') goto yy62; -- if (yych >= '\v') goto yy60; -- } else { -- if (yych <= '\r') goto yy66; -- if (yych == ' ') goto yy62; -- goto yy60; -- } --yy64: -- YYDEBUG(64, *YYCURSOR); -- ++YYCURSOR; --yy65: -- YYDEBUG(65, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 591 "Zend/zend_ini_scanner.l" -- { /* #Comment */ -- zend_error(E_DEPRECATED, "Comments starting with '#' are deprecated in %s on line %d", zend_ini_scanner_get_filename(TSRMLS_C), SCNG(lineno)); -- BEGIN(INITIAL); -- SCNG(lineno)++; -- return END_OF_LINE; --} --#line 1022 "Zend/zend_ini_scanner.c" --yy66: -- YYDEBUG(66, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych == '\n') goto yy64; -- goto yy65; --yy67: -- YYDEBUG(67, *YYCURSOR); -- yyaccept = 0; -- YYMARKER = ++YYCURSOR; -- YYFILL(2); -- yych = *YYCURSOR; --yy68: -- YYDEBUG(68, *YYCURSOR); -- if (yych <= ' ') { -- if (yych <= '\n') { -- if (yych <= 0x08) goto yy5; -- if (yych <= '\t') goto yy67; -- goto yy71; -- } else { -- if (yych == '\r') goto yy72; -- if (yych <= 0x1F) goto yy5; -- goto yy67; -- } -- } else { -- if (yych <= ':') { -- if (yych == '#') goto yy60; -- goto yy5; -- } else { -- if (yych <= ';') goto yy53; -- if (yych == '=') goto yy51; -- goto yy5; -- } -- } --yy69: -- YYDEBUG(69, *YYCURSOR); -- yyaccept = 1; -- YYMARKER = ++YYCURSOR; -- YYFILL(2); -- yych = *YYCURSOR; -- YYDEBUG(70, *YYCURSOR); -- if (yych <= '&') { -- if (yych <= 0x1F) { -- if (yych <= '\n') { -- if (yych <= 0x08) goto yy25; -- if (yych <= '\t') goto yy67; -- } else { -- if (yych == '\r') goto yy72; -- goto yy25; -- } -- } else { -- if (yych <= '#') { -- if (yych <= ' ') goto yy69; -- if (yych <= '"') goto yy3; -- goto yy58; -- } else { -- if (yych == '%') goto yy25; -- goto yy3; -- } -- } -- } else { -- if (yych <= '=') { -- if (yych <= ':') { -- if (yych <= '\'') goto yy25; -- if (yych <= ')') goto yy3; -- goto yy25; -- } else { -- if (yych <= ';') goto yy53; -- if (yych <= '<') goto yy25; -- goto yy51; -- } -- } else { -- if (yych <= ']') { -- if (yych == '[') goto yy28; -- goto yy25; -- } else { -- if (yych <= '^') goto yy3; -- if (yych <= 'z') goto yy25; -- if (yych <= '~') goto yy3; -- goto yy25; -- } -- } -- } --yy71: -- YYDEBUG(71, *YYCURSOR); -- yych = *++YYCURSOR; -- goto yy7; --yy72: -- YYDEBUG(72, *YYCURSOR); -- ++YYCURSOR; -- if ((yych = *YYCURSOR) == '\n') goto yy71; -- goto yy7; -- } --/* *********************************** */ --yyc_ST_DOUBLE_QUOTES: -- { -- static const unsigned char yybm[] = { -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 128, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 128, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- }; -- YYDEBUG(73, *YYCURSOR); -- YYFILL(2); -- yych = *YYCURSOR; -- if (yych == '"') goto yy77; -- if (yych == '$') goto yy79; -- YYDEBUG(75, *YYCURSOR); -- ++YYCURSOR; --yy76: -- YYDEBUG(76, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 535 "Zend/zend_ini_scanner.l" -- { /* Escape double quoted string contents */ -- if (YYCURSOR > YYLIMIT) { -- return 0; -- } -- -- while (YYCURSOR < YYLIMIT) { -- switch (*YYCURSOR++) { -- case '"': -- if (YYCURSOR < YYLIMIT && YYCURSOR[-2] == '\\' && *YYCURSOR != '\r' && *YYCURSOR != '\n') { -- continue; -- } -- break; -- case '$': -- if (*YYCURSOR == '{') { -- break; -- } -- continue; -- case '\\': -- if (YYCURSOR < YYLIMIT && *YYCURSOR != '"') { -- YYCURSOR++; -- } -- /* fall through */ -- default: -- continue; -- } -- -- YYCURSOR--; -- break; -- } -- -- yyleng = YYCURSOR - SCNG(yy_text); -- -- zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC); -- return TC_QUOTED_STRING; --} --#line 1198 "Zend/zend_ini_scanner.c" --yy77: -- YYDEBUG(77, *YYCURSOR); -- ++YYCURSOR; -- yych = *YYCURSOR; -- goto yy83; --yy78: -- YYDEBUG(78, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 530 "Zend/zend_ini_scanner.l" -- { /* Double quoted '"' string ends */ -- yy_pop_state(TSRMLS_C); -- return '"'; --} --#line 1212 "Zend/zend_ini_scanner.c" --yy79: -- YYDEBUG(79, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych != '{') goto yy76; -- YYDEBUG(80, *YYCURSOR); -- ++YYCURSOR; -- YYDEBUG(81, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 401 "Zend/zend_ini_scanner.l" -- { /* Variable start */ -- yy_push_state(ST_VARNAME TSRMLS_CC); -- return TC_DOLLAR_CURLY; --} --#line 1226 "Zend/zend_ini_scanner.c" --yy82: -- YYDEBUG(82, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; --yy83: -- YYDEBUG(83, *YYCURSOR); -- if (yybm[0+yych] & 128) { -- goto yy82; -- } -- goto yy78; -- } --/* *********************************** */ --yyc_ST_OFFSET: -- { -- static const unsigned char yybm[] = { -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 194, 64, 66, 66, 64, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 194, 66, 64, 66, 68, 66, 66, 0, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 114, 114, 114, 114, 114, 114, 114, 114, -- 114, 114, 66, 64, 66, 66, 66, 66, -- 66, 82, 82, 82, 82, 82, 82, 82, -- 82, 82, 82, 82, 82, 82, 82, 82, -- 82, 82, 82, 82, 82, 82, 82, 82, -- 82, 82, 82, 66, 72, 64, 66, 82, -- 66, 82, 82, 82, 82, 82, 82, 82, -- 82, 82, 82, 82, 82, 82, 82, 82, -- 82, 82, 82, 82, 82, 82, 82, 82, -- 82, 82, 82, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- 66, 66, 66, 66, 66, 66, 66, 66, -- }; -- YYDEBUG(84, *YYCURSOR); -- YYFILL(2); -- yych = *YYCURSOR; -- if (yych <= '-') { -- if (yych <= ' ') { -- if (yych <= '\n') { -- if (yych <= 0x08) goto yy86; -- if (yych <= '\t') goto yy88; -- goto yy89; -- } else { -- if (yych == '\r') goto yy89; -- if (yych >= ' ') goto yy88; -- } -- } else { -- if (yych <= '$') { -- if (yych == '"') goto yy91; -- if (yych >= '$') goto yy93; -- } else { -- if (yych == '\'') goto yy94; -- if (yych >= '-') goto yy95; -- } -- } -- } else { -- if (yych <= 'Z') { -- if (yych <= '9') { -- if (yych <= '.') goto yy96; -- if (yych >= '0') goto yy97; -- } else { -- if (yych == ';') goto yy89; -- if (yych >= 'A') goto yy99; -- } -- } else { -- if (yych <= '^') { -- if (yych <= '[') goto yy86; -- if (yych <= '\\') goto yy101; -- if (yych <= ']') goto yy102; -- } else { -- if (yych == '`') goto yy86; -- if (yych <= 'z') goto yy99; -- } -- } -- } --yy86: -- YYDEBUG(86, *YYCURSOR); -- yyaccept = 0; -- yych = *(YYMARKER = ++YYCURSOR); -- goto yy105; --yy87: -- YYDEBUG(87, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 521 "Zend/zend_ini_scanner.l" -- { /* Get rest as section/offset value */ -- RETURN_TOKEN(TC_STRING, yytext, yyleng); --} --#line 1330 "Zend/zend_ini_scanner.c" --yy88: -- YYDEBUG(88, *YYCURSOR); -- yyaccept = 0; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yybm[0+yych] & 128) { -- goto yy131; -- } -- if (yych == '"') goto yy133; -- if (yych == ']') goto yy134; -- goto yy105; --yy89: -- YYDEBUG(89, *YYCURSOR); -- ++YYCURSOR; --yy90: -- YYDEBUG(90, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 603 "Zend/zend_ini_scanner.l" -- { -- return 0; --} --#line 1351 "Zend/zend_ini_scanner.c" --yy91: -- YYDEBUG(91, *YYCURSOR); -- ++YYCURSOR; --yy92: -- YYDEBUG(92, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 525 "Zend/zend_ini_scanner.l" -- { /* Double quoted '"' string start */ -- yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); -- return '"'; --} --#line 1363 "Zend/zend_ini_scanner.c" --yy93: -- YYDEBUG(93, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych <= '\\') { -- if (yych <= 0x00) goto yy90; -- if (yych <= '[') goto yy104; -- goto yy109; -- } else { -- if (yych == '{') goto yy129; -- goto yy104; -- } --yy94: -- YYDEBUG(94, *YYCURSOR); -- yyaccept = 1; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yybm[0+yych] & 64) { -- goto yy125; -- } -- goto yy90; --yy95: -- YYDEBUG(95, *YYCURSOR); -- yyaccept = 0; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '/') goto yy105; -- if (yych <= '9') goto yy123; -- goto yy105; --yy96: -- YYDEBUG(96, *YYCURSOR); -- yyaccept = 0; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '/') goto yy105; -- if (yych <= '9') goto yy121; -- goto yy105; --yy97: -- YYDEBUG(97, *YYCURSOR); -- yyaccept = 2; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '\'') { -- if (yych <= '\r') { -- if (yych == '\n') goto yy98; -- if (yych <= '\f') goto yy105; -- } else { -- if (yych == '"') goto yy98; -- if (yych <= '&') goto yy105; -- } -- } else { -- if (yych <= '9') { -- if (yych == '.') goto yy117; -- if (yych <= '/') goto yy105; -- goto yy119; -- } else { -- if (yych <= ';') { -- if (yych <= ':') goto yy105; -- } else { -- if (yych != ']') goto yy105; -- } -- } -- } --yy98: -- YYDEBUG(98, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 499 "Zend/zend_ini_scanner.l" -- { /* Get number option value as string */ -- RETURN_TOKEN(TC_NUMBER, yytext, yyleng); --} --#line 1429 "Zend/zend_ini_scanner.c" --yy99: -- YYDEBUG(99, *YYCURSOR); -- yyaccept = 3; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yybm[0+yych] & 16) { -- goto yy115; -- } -- if (yych <= '"') { -- if (yych <= '\f') { -- if (yych != '\n') goto yy105; -- } else { -- if (yych <= '\r') goto yy100; -- if (yych <= '!') goto yy105; -- } -- } else { -- if (yych <= ':') { -- if (yych != '\'') goto yy105; -- } else { -- if (yych <= ';') goto yy100; -- if (yych != ']') goto yy105; -- } -- } --yy100: -- YYDEBUG(100, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 495 "Zend/zend_ini_scanner.l" -- { /* Get constant option value */ -- RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); --} --#line 1459 "Zend/zend_ini_scanner.c" --yy101: -- YYDEBUG(101, *YYCURSOR); -- yych = *++YYCURSOR; -- goto yy104; --yy102: -- YYDEBUG(102, *YYCURSOR); -- ++YYCURSOR; --yy103: -- YYDEBUG(103, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 396 "Zend/zend_ini_scanner.l" -- { /* End of section or an option offset */ -- BEGIN(INITIAL); -- return ']'; --} --#line 1475 "Zend/zend_ini_scanner.c" --yy104: -- YYDEBUG(104, *YYCURSOR); -- yyaccept = 0; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; --yy105: -- YYDEBUG(105, *YYCURSOR); -- if (yybm[0+yych] & 2) { -- goto yy104; -- } -- if (yych == '$') goto yy107; -- if (yych != '\\') goto yy87; --yy106: -- YYDEBUG(106, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- goto yy104; --yy107: -- YYDEBUG(107, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- if (yych <= '\\') { -- if (yych <= 0x00) goto yy108; -- if (yych <= '[') goto yy104; -- goto yy109; -- } else { -- if (yych != '{') goto yy104; -- } --yy108: -- YYDEBUG(108, *YYCURSOR); -- YYCURSOR = YYMARKER; -- if (yyaccept <= 1) { -- if (yyaccept <= 0) { -- goto yy87; -- } else { -- goto yy90; -- } -- } else { -- if (yyaccept <= 2) { -- goto yy98; -- } else { -- goto yy100; -- } -- } --yy109: -- YYDEBUG(109, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- if (yybm[0+yych] & 4) { -- goto yy110; -- } -- if (yych == '\\') goto yy112; -- goto yy104; --yy110: -- YYDEBUG(110, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(111, *YYCURSOR); -- if (yybm[0+yych] & 4) { -- goto yy110; -- } -- if (yych == '\\') goto yy114; -- goto yy104; --yy112: -- YYDEBUG(112, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(113, *YYCURSOR); -- if (yybm[0+yych] & 4) { -- goto yy110; -- } -- if (yych == '\\') goto yy112; -- goto yy104; --yy114: -- YYDEBUG(114, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- if (yybm[0+yych] & 4) { -- goto yy110; -- } -- if (yych == '\\') goto yy112; -- goto yy104; --yy115: -- YYDEBUG(115, *YYCURSOR); -- yyaccept = 3; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(116, *YYCURSOR); -- if (yybm[0+yych] & 16) { -- goto yy115; -- } -- if (yych <= '$') { -- if (yych <= '\r') { -- if (yych == '\n') goto yy100; -- if (yych <= '\f') goto yy104; -- goto yy100; -- } else { -- if (yych == '"') goto yy100; -- if (yych <= '#') goto yy104; -- goto yy107; -- } -- } else { -- if (yych <= ';') { -- if (yych == '\'') goto yy100; -- if (yych <= ':') goto yy104; -- goto yy100; -- } else { -- if (yych <= '[') goto yy104; -- if (yych <= '\\') goto yy106; -- if (yych <= ']') goto yy100; -- goto yy104; -- } -- } --yy117: -- YYDEBUG(117, *YYCURSOR); -- yyaccept = 2; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(118, *YYCURSOR); -- if (yybm[0+yych] & 32) { -- goto yy117; -- } -- if (yych <= '$') { -- if (yych <= '\r') { -- if (yych == '\n') goto yy98; -- if (yych <= '\f') goto yy104; -- goto yy98; -- } else { -- if (yych == '"') goto yy98; -- if (yych <= '#') goto yy104; -- goto yy107; -- } -- } else { -- if (yych <= ';') { -- if (yych == '\'') goto yy98; -- if (yych <= ':') goto yy104; -- goto yy98; -- } else { -- if (yych <= '[') goto yy104; -- if (yych <= '\\') goto yy106; -- if (yych <= ']') goto yy98; -- goto yy104; -- } -- } --yy119: -- YYDEBUG(119, *YYCURSOR); -- yyaccept = 2; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(120, *YYCURSOR); -- if (yych <= '\'') { -- if (yych <= '!') { -- if (yych <= '\n') { -- if (yych <= '\t') goto yy104; -- goto yy98; -- } else { -- if (yych == '\r') goto yy98; -- goto yy104; -- } -- } else { -- if (yych <= '#') { -- if (yych <= '"') goto yy98; -- goto yy104; -- } else { -- if (yych <= '$') goto yy107; -- if (yych <= '&') goto yy104; -- goto yy98; -- } -- } -- } else { -- if (yych <= ':') { -- if (yych <= '.') { -- if (yych <= '-') goto yy104; -- goto yy117; -- } else { -- if (yych <= '/') goto yy104; -- if (yych <= '9') goto yy119; -- goto yy104; -- } -- } else { -- if (yych <= '[') { -- if (yych <= ';') goto yy98; -- goto yy104; -- } else { -- if (yych <= '\\') goto yy106; -- if (yych <= ']') goto yy98; -- goto yy104; -- } -- } -- } --yy121: -- YYDEBUG(121, *YYCURSOR); -- yyaccept = 2; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(122, *YYCURSOR); -- if (yych <= '&') { -- if (yych <= '\r') { -- if (yych == '\n') goto yy98; -- if (yych <= '\f') goto yy104; -- goto yy98; -- } else { -- if (yych <= '"') { -- if (yych <= '!') goto yy104; -- goto yy98; -- } else { -- if (yych == '$') goto yy107; -- goto yy104; -- } -- } -- } else { -- if (yych <= ':') { -- if (yych <= '\'') goto yy98; -- if (yych <= '/') goto yy104; -- if (yych <= '9') goto yy121; -- goto yy104; -- } else { -- if (yych <= '[') { -- if (yych <= ';') goto yy98; -- goto yy104; -- } else { -- if (yych <= '\\') goto yy106; -- if (yych <= ']') goto yy98; -- goto yy104; -- } -- } -- } --yy123: -- YYDEBUG(123, *YYCURSOR); -- yyaccept = 2; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(124, *YYCURSOR); -- if (yych <= '&') { -- if (yych <= '\r') { -- if (yych == '\n') goto yy98; -- if (yych <= '\f') goto yy104; -- goto yy98; -- } else { -- if (yych <= '"') { -- if (yych <= '!') goto yy104; -- goto yy98; -- } else { -- if (yych == '$') goto yy107; -- goto yy104; -- } -- } -- } else { -- if (yych <= ':') { -- if (yych <= '\'') goto yy98; -- if (yych <= '/') goto yy104; -- if (yych <= '9') goto yy123; -- goto yy104; -- } else { -- if (yych <= '[') { -- if (yych <= ';') goto yy98; -- goto yy104; -- } else { -- if (yych <= '\\') goto yy106; -- if (yych <= ']') goto yy98; -- goto yy104; -- } -- } -- } --yy125: -- YYDEBUG(125, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(126, *YYCURSOR); -- if (yybm[0+yych] & 64) { -- goto yy125; -- } -- YYDEBUG(127, *YYCURSOR); -- ++YYCURSOR; -- YYDEBUG(128, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 368 "Zend/zend_ini_scanner.l" -- { /* Raw string */ -- /* Eat leading and trailing single quotes */ -- if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') { -- SCNG(yy_text)++; -- yyleng = yyleng - 2; -- } -- RETURN_TOKEN(TC_RAW, yytext, yyleng); --} --#line 1774 "Zend/zend_ini_scanner.c" --yy129: -- YYDEBUG(129, *YYCURSOR); -- ++YYCURSOR; -- YYDEBUG(130, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 401 "Zend/zend_ini_scanner.l" -- { /* Variable start */ -- yy_push_state(ST_VARNAME TSRMLS_CC); -- return TC_DOLLAR_CURLY; --} --#line 1785 "Zend/zend_ini_scanner.c" --yy131: -- YYDEBUG(131, *YYCURSOR); -- yyaccept = 0; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(132, *YYCURSOR); -- if (yybm[0+yych] & 128) { -- goto yy131; -- } -- if (yych <= '$') { -- if (yych <= '\r') { -- if (yych == '\n') goto yy87; -- if (yych <= '\f') goto yy104; -- goto yy87; -- } else { -- if (yych == '"') goto yy133; -- if (yych <= '#') goto yy104; -- goto yy107; -- } -- } else { -- if (yych <= ';') { -- if (yych == '\'') goto yy87; -- if (yych <= ':') goto yy104; -- goto yy87; -- } else { -- if (yych <= '[') goto yy104; -- if (yych <= '\\') goto yy106; -- if (yych <= ']') goto yy134; -- goto yy104; -- } -- } --yy133: -- YYDEBUG(133, *YYCURSOR); -- yych = *++YYCURSOR; -- goto yy92; --yy134: -- YYDEBUG(134, *YYCURSOR); -- ++YYCURSOR; -- yych = *YYCURSOR; -- goto yy103; -- } --/* *********************************** */ --yyc_ST_RAW: -- { -- static const unsigned char yybm[] = { -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 192, 0, 64, 64, 0, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 192, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- 64, 64, 64, 64, 64, 64, 64, 64, -- }; -- YYDEBUG(135, *YYCURSOR); -- YYFILL(3); -- yych = *YYCURSOR; -- if (yych <= '\f') { -- if (yych <= 0x08) { -- if (yych >= 0x01) goto yy139; -- } else { -- if (yych <= '\t') goto yy141; -- if (yych <= '\n') goto yy142; -- goto yy139; -- } -- } else { -- if (yych <= ' ') { -- if (yych <= '\r') goto yy144; -- if (yych <= 0x1F) goto yy139; -- goto yy141; -- } else { -- if (yych == ';') goto yy145; -- goto yy139; -- } -- } -- YYDEBUG(137, *YYCURSOR); -- ++YYCURSOR; -- YYDEBUG(138, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 598 "Zend/zend_ini_scanner.l" -- { /* End of option value (if EOF is reached before EOL */ -- BEGIN(INITIAL); -- return END_OF_LINE; --} --#line 1895 "Zend/zend_ini_scanner.c" --yy139: -- YYDEBUG(139, *YYCURSOR); -- ++YYCURSOR; --yy140: -- YYDEBUG(140, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 448 "Zend/zend_ini_scanner.l" -- { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ -- char *sc = NULL; -- while (YYCURSOR < YYLIMIT) { -- switch (*YYCURSOR) { -- case '\n': -- case '\r': -- goto end_raw_value_chars; -- break; -- case ';': -- if (sc == NULL) { -- sc = YYCURSOR; -- } -- /* no break */ -- default: -- YYCURSOR++; -- break; -- } -- } --end_raw_value_chars: -- yyleng = YYCURSOR - SCNG(yy_text); -- -- /* Eat trailing semicolons */ -- while (yytext[yyleng - 1] == ';') { -- yyleng--; -- } -- -- /* Eat leading and trailing double quotes */ -- if (yytext[0] == '"' && yytext[yyleng - 1] == '"') { -- SCNG(yy_text)++; -- yyleng = yyleng - 2; -- } else if (sc) { -- YYCURSOR = sc; -- yyleng = YYCURSOR - SCNG(yy_text); -- } -- RETURN_TOKEN(TC_RAW, yytext, yyleng); --} --#line 1939 "Zend/zend_ini_scanner.c" --yy141: -- YYDEBUG(141, *YYCURSOR); -- yyaccept = 0; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '\r') { -- if (yych <= 0x08) goto yy140; -- if (yych <= '\n') goto yy153; -- if (yych <= '\f') goto yy140; -- goto yy153; -- } else { -- if (yych <= ' ') { -- if (yych <= 0x1F) goto yy140; -- goto yy153; -- } else { -- if (yych == ';') goto yy153; -- goto yy140; -- } -- } --yy142: -- YYDEBUG(142, *YYCURSOR); -- ++YYCURSOR; --yy143: -- YYDEBUG(143, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 489 "Zend/zend_ini_scanner.l" -- { /* End of option value */ -- BEGIN(INITIAL); -- SCNG(lineno)++; -- return END_OF_LINE; --} --#line 1970 "Zend/zend_ini_scanner.c" --yy144: -- YYDEBUG(144, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych == '\n') goto yy151; -- goto yy143; --yy145: -- YYDEBUG(145, *YYCURSOR); -- yyaccept = 1; -- yych = *(YYMARKER = ++YYCURSOR); -- goto yy147; --yy146: -- YYDEBUG(146, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(2); -- yych = *YYCURSOR; --yy147: -- YYDEBUG(147, *YYCURSOR); -- if (yybm[0+yych] & 64) { -- goto yy146; -- } -- if (yych >= '\r') goto yy150; --yy148: -- YYDEBUG(148, *YYCURSOR); -- ++YYCURSOR; --yy149: -- YYDEBUG(149, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 585 "Zend/zend_ini_scanner.l" -- { /* Comment */ -- BEGIN(INITIAL); -- SCNG(lineno)++; -- return END_OF_LINE; --} --#line 2004 "Zend/zend_ini_scanner.c" --yy150: -- YYDEBUG(150, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych == '\n') goto yy148; -- goto yy149; --yy151: -- YYDEBUG(151, *YYCURSOR); -- yych = *++YYCURSOR; -- goto yy143; --yy152: -- YYDEBUG(152, *YYCURSOR); -- yyaccept = 2; -- YYMARKER = ++YYCURSOR; -- YYFILL(2); -- yych = *YYCURSOR; --yy153: -- YYDEBUG(153, *YYCURSOR); -- if (yybm[0+yych] & 128) { -- goto yy152; -- } -- if (yych <= '\f') { -- if (yych == '\n') goto yy151; -- } else { -- if (yych <= '\r') goto yy155; -- if (yych == ';') goto yy146; -- } -- YYDEBUG(154, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 575 "Zend/zend_ini_scanner.l" -- { -- /* eat whitespace */ -- goto restart; --} --#line 2038 "Zend/zend_ini_scanner.c" --yy155: -- YYDEBUG(155, *YYCURSOR); -- ++YYCURSOR; -- if ((yych = *YYCURSOR) == '\n') goto yy151; -- goto yy143; -- } --/* *********************************** */ --yyc_ST_SECTION_RAW: -- { -- static const unsigned char yybm[] = { -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 192, 0, 128, 128, 0, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 192, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 0, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- }; -- YYDEBUG(156, *YYCURSOR); -- YYFILL(3); -- yych = *YYCURSOR; -- if (yych <= '\f') { -- if (yych == '\n') goto yy160; -- } else { -- if (yych <= '\r') goto yy160; -- if (yych == ']') goto yy162; -- } -- YYDEBUG(158, *YYCURSOR); -- ++YYCURSOR; -- yych = *YYCURSOR; -- goto yy169; --yy159: -- YYDEBUG(159, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 485 "Zend/zend_ini_scanner.l" -- { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ -- RETURN_TOKEN(TC_RAW, yytext, yyleng); --} --#line 2102 "Zend/zend_ini_scanner.c" --yy160: -- YYDEBUG(160, *YYCURSOR); -- ++YYCURSOR; -- YYDEBUG(161, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 603 "Zend/zend_ini_scanner.l" -- { -- return 0; --} --#line 2112 "Zend/zend_ini_scanner.c" --yy162: -- YYDEBUG(162, *YYCURSOR); -- ++YYCURSOR; -- yych = *YYCURSOR; -- goto yy165; --yy163: -- YYDEBUG(163, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 377 "Zend/zend_ini_scanner.l" -- { /* End of section */ -- BEGIN(INITIAL); -- SCNG(lineno)++; -- return ']'; --} --#line 2127 "Zend/zend_ini_scanner.c" --yy164: -- YYDEBUG(164, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(2); -- yych = *YYCURSOR; --yy165: -- YYDEBUG(165, *YYCURSOR); -- if (yybm[0+yych] & 64) { -- goto yy164; -- } -- if (yych == '\n') goto yy166; -- if (yych == '\r') goto yy167; -- goto yy163; --yy166: -- YYDEBUG(166, *YYCURSOR); -- yych = *++YYCURSOR; -- goto yy163; --yy167: -- YYDEBUG(167, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych == '\n') goto yy166; -- goto yy163; --yy168: -- YYDEBUG(168, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; --yy169: -- YYDEBUG(169, *YYCURSOR); -- if (yybm[0+yych] & 128) { -- goto yy168; -- } -- goto yy159; -- } --/* *********************************** */ --yyc_ST_SECTION_VALUE: -- { -- static const unsigned char yybm[] = { -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 134, 128, 132, 132, 128, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 134, 132, 128, 132, 136, 132, 132, 0, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 228, 228, 228, 228, 228, 228, 228, 228, -- 228, 228, 132, 128, 132, 132, 132, 132, -- 132, 164, 164, 164, 164, 164, 164, 164, -- 164, 164, 164, 164, 164, 164, 164, 164, -- 164, 164, 164, 164, 164, 164, 164, 164, -- 164, 164, 164, 132, 144, 128, 132, 164, -- 132, 164, 164, 164, 164, 164, 164, 164, -- 164, 164, 164, 164, 164, 164, 164, 164, -- 164, 164, 164, 164, 164, 164, 164, 164, -- 164, 164, 164, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- 132, 132, 132, 132, 132, 132, 132, 132, -- }; -- YYDEBUG(170, *YYCURSOR); -- YYFILL(3); -- yych = *YYCURSOR; -- if (yych <= '-') { -- if (yych <= ' ') { -- if (yych <= '\n') { -- if (yych <= 0x08) goto yy172; -- if (yych <= '\t') goto yy174; -- goto yy175; -- } else { -- if (yych == '\r') goto yy175; -- if (yych >= ' ') goto yy174; -- } -- } else { -- if (yych <= '$') { -- if (yych == '"') goto yy177; -- if (yych >= '$') goto yy179; -- } else { -- if (yych == '\'') goto yy180; -- if (yych >= '-') goto yy181; -- } -- } -- } else { -- if (yych <= 'Z') { -- if (yych <= '9') { -- if (yych <= '.') goto yy182; -- if (yych >= '0') goto yy183; -- } else { -- if (yych == ';') goto yy175; -- if (yych >= 'A') goto yy185; -- } -- } else { -- if (yych <= '^') { -- if (yych <= '[') goto yy172; -- if (yych <= '\\') goto yy187; -- if (yych <= ']') goto yy188; -- } else { -- if (yych == '`') goto yy172; -- if (yych <= 'z') goto yy185; -- } -- } -- } --yy172: -- YYDEBUG(172, *YYCURSOR); -- yyaccept = 0; -- yych = *(YYMARKER = ++YYCURSOR); -- goto yy195; --yy173: -- YYDEBUG(173, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 521 "Zend/zend_ini_scanner.l" -- { /* Get rest as section/offset value */ -- RETURN_TOKEN(TC_STRING, yytext, yyleng); --} --#line 2253 "Zend/zend_ini_scanner.c" --yy174: -- YYDEBUG(174, *YYCURSOR); -- yyaccept = 0; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= 0x1F) { -- if (yych == '\t') goto yy221; -- goto yy195; -- } else { -- if (yych <= ' ') goto yy221; -- if (yych == '"') goto yy223; -- goto yy195; -- } --yy175: -- YYDEBUG(175, *YYCURSOR); -- ++YYCURSOR; --yy176: -- YYDEBUG(176, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 603 "Zend/zend_ini_scanner.l" -- { -- return 0; --} --#line 2276 "Zend/zend_ini_scanner.c" --yy177: -- YYDEBUG(177, *YYCURSOR); -- ++YYCURSOR; --yy178: -- YYDEBUG(178, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 525 "Zend/zend_ini_scanner.l" -- { /* Double quoted '"' string start */ -- yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); -- return '"'; --} --#line 2288 "Zend/zend_ini_scanner.c" --yy179: -- YYDEBUG(179, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych <= '\\') { -- if (yych <= 0x00) goto yy176; -- if (yych <= '[') goto yy194; -- goto yy199; -- } else { -- if (yych == '{') goto yy219; -- goto yy194; -- } --yy180: -- YYDEBUG(180, *YYCURSOR); -- yyaccept = 1; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yybm[0+yych] & 128) { -- goto yy215; -- } -- goto yy176; --yy181: -- YYDEBUG(181, *YYCURSOR); -- yyaccept = 0; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '/') goto yy195; -- if (yych <= '9') goto yy213; -- goto yy195; --yy182: -- YYDEBUG(182, *YYCURSOR); -- yyaccept = 0; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '/') goto yy195; -- if (yych <= '9') goto yy211; -- goto yy195; --yy183: -- YYDEBUG(183, *YYCURSOR); -- yyaccept = 2; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '\'') { -- if (yych <= '\r') { -- if (yych == '\n') goto yy184; -- if (yych <= '\f') goto yy195; -- } else { -- if (yych == '"') goto yy184; -- if (yych <= '&') goto yy195; -- } -- } else { -- if (yych <= '9') { -- if (yych == '.') goto yy207; -- if (yych <= '/') goto yy195; -- goto yy209; -- } else { -- if (yych <= ';') { -- if (yych <= ':') goto yy195; -- } else { -- if (yych != ']') goto yy195; -- } -- } -- } --yy184: -- YYDEBUG(184, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 499 "Zend/zend_ini_scanner.l" -- { /* Get number option value as string */ -- RETURN_TOKEN(TC_NUMBER, yytext, yyleng); --} --#line 2354 "Zend/zend_ini_scanner.c" --yy185: -- YYDEBUG(185, *YYCURSOR); -- yyaccept = 3; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yybm[0+yych] & 32) { -- goto yy205; -- } -- if (yych <= '"') { -- if (yych <= '\f') { -- if (yych != '\n') goto yy195; -- } else { -- if (yych <= '\r') goto yy186; -- if (yych <= '!') goto yy195; -- } -- } else { -- if (yych <= ':') { -- if (yych != '\'') goto yy195; -- } else { -- if (yych <= ';') goto yy186; -- if (yych != ']') goto yy195; -- } -- } --yy186: -- YYDEBUG(186, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 495 "Zend/zend_ini_scanner.l" -- { /* Get constant option value */ -- RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); --} --#line 2384 "Zend/zend_ini_scanner.c" --yy187: -- YYDEBUG(187, *YYCURSOR); -- yych = *++YYCURSOR; -- goto yy194; --yy188: -- YYDEBUG(188, *YYCURSOR); -- ++YYCURSOR; -- yych = *YYCURSOR; -- goto yy191; --yy189: -- YYDEBUG(189, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 377 "Zend/zend_ini_scanner.l" -- { /* End of section */ -- BEGIN(INITIAL); -- SCNG(lineno)++; -- return ']'; --} --#line 2403 "Zend/zend_ini_scanner.c" --yy190: -- YYDEBUG(190, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(2); -- yych = *YYCURSOR; --yy191: -- YYDEBUG(191, *YYCURSOR); -- if (yybm[0+yych] & 2) { -- goto yy190; -- } -- if (yych == '\n') goto yy192; -- if (yych == '\r') goto yy193; -- goto yy189; --yy192: -- YYDEBUG(192, *YYCURSOR); -- yych = *++YYCURSOR; -- goto yy189; --yy193: -- YYDEBUG(193, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych == '\n') goto yy192; -- goto yy189; --yy194: -- YYDEBUG(194, *YYCURSOR); -- yyaccept = 0; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; --yy195: -- YYDEBUG(195, *YYCURSOR); -- if (yybm[0+yych] & 4) { -- goto yy194; -- } -- if (yych == '$') goto yy197; -- if (yych != '\\') goto yy173; --yy196: -- YYDEBUG(196, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- goto yy194; --yy197: -- YYDEBUG(197, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- if (yych <= '\\') { -- if (yych <= 0x00) goto yy198; -- if (yych <= '[') goto yy194; -- goto yy199; -- } else { -- if (yych != '{') goto yy194; -- } --yy198: -- YYDEBUG(198, *YYCURSOR); -- YYCURSOR = YYMARKER; -- if (yyaccept <= 1) { -- if (yyaccept <= 0) { -- goto yy173; -- } else { -- goto yy176; -- } -- } else { -- if (yyaccept <= 2) { -- goto yy184; -- } else { -- goto yy186; -- } -- } --yy199: -- YYDEBUG(199, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- if (yybm[0+yych] & 8) { -- goto yy200; -- } -- if (yych == '\\') goto yy202; -- goto yy194; --yy200: -- YYDEBUG(200, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(201, *YYCURSOR); -- if (yybm[0+yych] & 8) { -- goto yy200; -- } -- if (yych == '\\') goto yy204; -- goto yy194; --yy202: -- YYDEBUG(202, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(203, *YYCURSOR); -- if (yybm[0+yych] & 8) { -- goto yy200; -- } -- if (yych == '\\') goto yy202; -- goto yy194; --yy204: -- YYDEBUG(204, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- if (yybm[0+yych] & 8) { -- goto yy200; -- } -- if (yych == '\\') goto yy202; -- goto yy194; --yy205: -- YYDEBUG(205, *YYCURSOR); -- yyaccept = 3; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(206, *YYCURSOR); -- if (yybm[0+yych] & 32) { -- goto yy205; -- } -- if (yych <= '$') { -- if (yych <= '\r') { -- if (yych == '\n') goto yy186; -- if (yych <= '\f') goto yy194; -- goto yy186; -- } else { -- if (yych == '"') goto yy186; -- if (yych <= '#') goto yy194; -- goto yy197; -- } -- } else { -- if (yych <= ';') { -- if (yych == '\'') goto yy186; -- if (yych <= ':') goto yy194; -- goto yy186; -- } else { -- if (yych <= '[') goto yy194; -- if (yych <= '\\') goto yy196; -- if (yych <= ']') goto yy186; -- goto yy194; -- } -- } --yy207: -- YYDEBUG(207, *YYCURSOR); -- yyaccept = 2; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(208, *YYCURSOR); -- if (yybm[0+yych] & 64) { -- goto yy207; -- } -- if (yych <= '$') { -- if (yych <= '\r') { -- if (yych == '\n') goto yy184; -- if (yych <= '\f') goto yy194; -- goto yy184; -- } else { -- if (yych == '"') goto yy184; -- if (yych <= '#') goto yy194; -- goto yy197; -- } -- } else { -- if (yych <= ';') { -- if (yych == '\'') goto yy184; -- if (yych <= ':') goto yy194; -- goto yy184; -- } else { -- if (yych <= '[') goto yy194; -- if (yych <= '\\') goto yy196; -- if (yych <= ']') goto yy184; -- goto yy194; -- } -- } --yy209: -- YYDEBUG(209, *YYCURSOR); -- yyaccept = 2; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(210, *YYCURSOR); -- if (yych <= '\'') { -- if (yych <= '!') { -- if (yych <= '\n') { -- if (yych <= '\t') goto yy194; -- goto yy184; -- } else { -- if (yych == '\r') goto yy184; -- goto yy194; -- } -- } else { -- if (yych <= '#') { -- if (yych <= '"') goto yy184; -- goto yy194; -- } else { -- if (yych <= '$') goto yy197; -- if (yych <= '&') goto yy194; -- goto yy184; -- } -- } -- } else { -- if (yych <= ':') { -- if (yych <= '.') { -- if (yych <= '-') goto yy194; -- goto yy207; -- } else { -- if (yych <= '/') goto yy194; -- if (yych <= '9') goto yy209; -- goto yy194; -- } -- } else { -- if (yych <= '[') { -- if (yych <= ';') goto yy184; -- goto yy194; -- } else { -- if (yych <= '\\') goto yy196; -- if (yych <= ']') goto yy184; -- goto yy194; -- } -- } -- } --yy211: -- YYDEBUG(211, *YYCURSOR); -- yyaccept = 2; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(212, *YYCURSOR); -- if (yych <= '&') { -- if (yych <= '\r') { -- if (yych == '\n') goto yy184; -- if (yych <= '\f') goto yy194; -- goto yy184; -- } else { -- if (yych <= '"') { -- if (yych <= '!') goto yy194; -- goto yy184; -- } else { -- if (yych == '$') goto yy197; -- goto yy194; -- } -- } -- } else { -- if (yych <= ':') { -- if (yych <= '\'') goto yy184; -- if (yych <= '/') goto yy194; -- if (yych <= '9') goto yy211; -- goto yy194; -- } else { -- if (yych <= '[') { -- if (yych <= ';') goto yy184; -- goto yy194; -- } else { -- if (yych <= '\\') goto yy196; -- if (yych <= ']') goto yy184; -- goto yy194; -- } -- } -- } --yy213: -- YYDEBUG(213, *YYCURSOR); -- yyaccept = 2; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(214, *YYCURSOR); -- if (yych <= '&') { -- if (yych <= '\r') { -- if (yych == '\n') goto yy184; -- if (yych <= '\f') goto yy194; -- goto yy184; -- } else { -- if (yych <= '"') { -- if (yych <= '!') goto yy194; -- goto yy184; -- } else { -- if (yych == '$') goto yy197; -- goto yy194; -- } -- } -- } else { -- if (yych <= ':') { -- if (yych <= '\'') goto yy184; -- if (yych <= '/') goto yy194; -- if (yych <= '9') goto yy213; -- goto yy194; -- } else { -- if (yych <= '[') { -- if (yych <= ';') goto yy184; -- goto yy194; -- } else { -- if (yych <= '\\') goto yy196; -- if (yych <= ']') goto yy184; -- goto yy194; -- } -- } -- } --yy215: -- YYDEBUG(215, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(216, *YYCURSOR); -- if (yybm[0+yych] & 128) { -- goto yy215; -- } -- YYDEBUG(217, *YYCURSOR); -- ++YYCURSOR; -- YYDEBUG(218, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 368 "Zend/zend_ini_scanner.l" -- { /* Raw string */ -- /* Eat leading and trailing single quotes */ -- if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') { -- SCNG(yy_text)++; -- yyleng = yyleng - 2; -- } -- RETURN_TOKEN(TC_RAW, yytext, yyleng); --} --#line 2724 "Zend/zend_ini_scanner.c" --yy219: -- YYDEBUG(219, *YYCURSOR); -- ++YYCURSOR; -- YYDEBUG(220, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 401 "Zend/zend_ini_scanner.l" -- { /* Variable start */ -- yy_push_state(ST_VARNAME TSRMLS_CC); -- return TC_DOLLAR_CURLY; --} --#line 2735 "Zend/zend_ini_scanner.c" --yy221: -- YYDEBUG(221, *YYCURSOR); -- yyaccept = 0; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(222, *YYCURSOR); -- if (yych <= '"') { -- if (yych <= '\f') { -- if (yych <= 0x08) goto yy194; -- if (yych <= '\t') goto yy221; -- if (yych <= '\n') goto yy173; -- goto yy194; -- } else { -- if (yych <= 0x1F) { -- if (yych <= '\r') goto yy173; -- goto yy194; -- } else { -- if (yych <= ' ') goto yy221; -- if (yych <= '!') goto yy194; -- } -- } -- } else { -- if (yych <= ':') { -- if (yych <= '$') { -- if (yych <= '#') goto yy194; -- goto yy197; -- } else { -- if (yych == '\'') goto yy173; -- goto yy194; -- } -- } else { -- if (yych <= '[') { -- if (yych <= ';') goto yy173; -- goto yy194; -- } else { -- if (yych <= '\\') goto yy196; -- if (yych <= ']') goto yy173; -- goto yy194; -- } -- } -- } --yy223: -- YYDEBUG(223, *YYCURSOR); -- ++YYCURSOR; -- yych = *YYCURSOR; -- goto yy178; -- } --/* *********************************** */ --yyc_ST_VALUE: -- { -- static const unsigned char yybm[] = { -- 160, 162, 162, 162, 162, 162, 162, 162, -- 162, 176, 128, 162, 162, 128, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 176, 160, 160, 162, 168, 162, 160, 32, -- 160, 160, 162, 162, 162, 162, 162, 162, -- 230, 230, 230, 230, 230, 230, 230, 230, -- 230, 230, 162, 160, 162, 160, 162, 162, -- 162, 166, 166, 166, 166, 166, 166, 166, -- 166, 166, 166, 166, 166, 166, 166, 166, -- 166, 166, 166, 166, 166, 166, 166, 166, -- 166, 166, 166, 162, 162, 162, 160, 166, -- 162, 166, 166, 166, 166, 166, 166, 166, -- 166, 166, 166, 166, 166, 166, 166, 166, -- 166, 166, 166, 166, 166, 166, 166, 166, -- 166, 166, 166, 162, 160, 162, 160, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- 162, 162, 162, 162, 162, 162, 162, 162, -- }; -- YYDEBUG(224, *YYCURSOR); -- YYFILL(6); -- yych = *YYCURSOR; -- YYDEBUG(-1, yych); -- switch (yych) { -- case 0x00: goto yy226; -- case '\t': -- case ' ': goto yy230; -- case '\n': goto yy232; -- case '\r': goto yy234; -- case '!': -- case '&': -- case '(': -- case ')': -- case '^': -- case '|': -- case '~': goto yy235; -- case '"': goto yy237; -- case '$': goto yy239; -- case '\'': goto yy240; -- case '-': goto yy241; -- case '.': goto yy242; -- case '0': -- case '1': -- case '2': -- case '3': -- case '4': -- case '5': -- case '6': -- case '7': -- case '8': -- case '9': goto yy243; -- case ';': goto yy245; -- case '=': goto yy246; -- case 'A': -- case 'B': -- case 'C': -- case 'D': -- case 'E': -- case 'G': -- case 'H': -- case 'I': -- case 'J': -- case 'K': -- case 'L': -- case 'M': -- case 'P': -- case 'Q': -- case 'R': -- case 'S': -- case 'U': -- case 'V': -- case 'W': -- case 'X': -- case 'Z': -- case '_': -- case 'a': -- case 'b': -- case 'c': -- case 'd': -- case 'e': -- case 'g': -- case 'h': -- case 'i': -- case 'j': -- case 'k': -- case 'l': -- case 'm': -- case 'p': -- case 'q': -- case 'r': -- case 's': -- case 'u': -- case 'v': -- case 'w': -- case 'x': -- case 'z': goto yy248; -- case 'F': -- case 'f': goto yy250; -- case 'N': -- case 'n': goto yy251; -- case 'O': -- case 'o': goto yy252; -- case 'T': -- case 't': goto yy253; -- case 'Y': -- case 'y': goto yy254; -- default: goto yy228; -- } --yy226: -- YYDEBUG(226, *YYCURSOR); -- ++YYCURSOR; --yy227: -- YYDEBUG(227, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 598 "Zend/zend_ini_scanner.l" -- { /* End of option value (if EOF is reached before EOL */ -- BEGIN(INITIAL); -- return END_OF_LINE; --} --#line 2921 "Zend/zend_ini_scanner.c" --yy228: -- YYDEBUG(228, *YYCURSOR); -- yyaccept = 0; -- yych = *(YYMARKER = ++YYCURSOR); -- goto yy256; --yy229: -- YYDEBUG(229, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 517 "Zend/zend_ini_scanner.l" -- { /* Get everything else as option/offset value */ -- RETURN_TOKEN(TC_STRING, yytext, yyleng); --} --#line 2934 "Zend/zend_ini_scanner.c" --yy230: -- YYDEBUG(230, *YYCURSOR); -- yyaccept = 1; -- yych = *(YYMARKER = ++YYCURSOR); -- goto yy306; --yy231: -- YYDEBUG(231, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 571 "Zend/zend_ini_scanner.l" -- { -- RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng); --} --#line 2947 "Zend/zend_ini_scanner.c" --yy232: -- YYDEBUG(232, *YYCURSOR); -- ++YYCURSOR; --yy233: -- YYDEBUG(233, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 489 "Zend/zend_ini_scanner.l" -- { /* End of option value */ -- BEGIN(INITIAL); -- SCNG(lineno)++; -- return END_OF_LINE; --} --#line 2960 "Zend/zend_ini_scanner.c" --yy234: -- YYDEBUG(234, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych == '\n') goto yy304; -- goto yy233; --yy235: -- YYDEBUG(235, *YYCURSOR); -- ++YYCURSOR; -- yych = *YYCURSOR; -- goto yy303; --yy236: -- YYDEBUG(236, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 507 "Zend/zend_ini_scanner.l" -- { /* Boolean operators */ -- return yytext[0]; --} --#line 2978 "Zend/zend_ini_scanner.c" --yy237: -- YYDEBUG(237, *YYCURSOR); -- ++YYCURSOR; --yy238: -- YYDEBUG(238, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 525 "Zend/zend_ini_scanner.l" -- { /* Double quoted '"' string start */ -- yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); -- return '"'; --} --#line 2990 "Zend/zend_ini_scanner.c" --yy239: -- YYDEBUG(239, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych <= '\\') { -- if (yych <= 0x00) goto yy227; -- if (yych <= '[') goto yy255; -- goto yy262; -- } else { -- if (yych == '{') goto yy300; -- goto yy255; -- } --yy240: -- YYDEBUG(240, *YYCURSOR); -- yyaccept = 2; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yybm[0+yych] & 128) { -- goto yy296; -- } -- goto yy227; --yy241: -- YYDEBUG(241, *YYCURSOR); -- yyaccept = 0; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '/') goto yy256; -- if (yych <= '9') goto yy294; -- goto yy256; --yy242: -- YYDEBUG(242, *YYCURSOR); -- yyaccept = 0; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '/') goto yy256; -- if (yych <= '9') goto yy292; -- goto yy256; --yy243: -- YYDEBUG(243, *YYCURSOR); -- yyaccept = 3; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '/') { -- if (yych <= 0x1F) { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy244; -- if (yych <= 0x08) goto yy256; -- } else { -- if (yych != '\r') goto yy256; -- } -- } else { -- if (yych <= ')') { -- if (yych <= '"') goto yy244; -- if (yych <= '%') goto yy256; -- } else { -- if (yych == '.') goto yy288; -- goto yy256; -- } -- } -- } else { -- if (yych <= ']') { -- if (yych <= ';') { -- if (yych <= '9') goto yy290; -- if (yych <= ':') goto yy256; -- } else { -- if (yych != '=') goto yy256; -- } -- } else { -- if (yych <= '|') { -- if (yych <= '^') goto yy244; -- if (yych <= '{') goto yy256; -- } else { -- if (yych != '~') goto yy256; -- } -- } -- } --yy244: -- YYDEBUG(244, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 499 "Zend/zend_ini_scanner.l" -- { /* Get number option value as string */ -- RETURN_TOKEN(TC_NUMBER, yytext, yyleng); --} --#line 3069 "Zend/zend_ini_scanner.c" --yy245: -- YYDEBUG(245, *YYCURSOR); -- yyaccept = 2; -- yych = *(YYMARKER = ++YYCURSOR); -- goto yy284; --yy246: -- YYDEBUG(246, *YYCURSOR); -- ++YYCURSOR; -- YYDEBUG(247, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 511 "Zend/zend_ini_scanner.l" -- { /* Make = used in option value to trigger error */ -- yyless(0); -- BEGIN(INITIAL); -- return END_OF_LINE; --} --#line 3086 "Zend/zend_ini_scanner.c" --yy248: -- YYDEBUG(248, *YYCURSOR); -- yyaccept = 4; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yybm[0+yych] & 4) { -- goto yy257; -- } -- if (yych <= ':') { -- if (yych <= '\r') { -- if (yych <= 0x08) { -- if (yych >= 0x01) goto yy256; -- } else { -- if (yych <= '\n') goto yy249; -- if (yych <= '\f') goto yy256; -- } -- } else { -- if (yych <= '"') { -- if (yych <= 0x1F) goto yy256; -- } else { -- if (yych <= '%') goto yy256; -- if (yych >= '*') goto yy256; -- } -- } -- } else { -- if (yych <= '^') { -- if (yych <= '<') { -- if (yych >= '<') goto yy256; -- } else { -- if (yych <= '=') goto yy249; -- if (yych <= ']') goto yy256; -- } -- } else { -- if (yych <= '|') { -- if (yych <= '{') goto yy256; -- } else { -- if (yych != '~') goto yy256; -- } -- } -- } --yy249: -- YYDEBUG(249, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 495 "Zend/zend_ini_scanner.l" -- { /* Get constant option value */ -- RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); --} --#line 3133 "Zend/zend_ini_scanner.c" --yy250: -- YYDEBUG(250, *YYCURSOR); -- yyaccept = 4; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '<') { -- if (yych <= '"') { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy249; -- if (yych <= 0x08) goto yy256; -- goto yy249; -- } else { -- if (yych == '\r') goto yy249; -- if (yych <= 0x1F) goto yy256; -- goto yy249; -- } -- } else { -- if (yych <= '/') { -- if (yych <= '%') goto yy256; -- if (yych <= ')') goto yy249; -- goto yy256; -- } else { -- if (yych <= '9') goto yy257; -- if (yych == ';') goto yy249; -- goto yy256; -- } -- } -- } else { -- if (yych <= '_') { -- if (yych <= 'A') { -- if (yych <= '=') goto yy249; -- if (yych <= '@') goto yy256; -- goto yy280; -- } else { -- if (yych <= 'Z') goto yy257; -- if (yych <= ']') goto yy256; -- if (yych <= '^') goto yy249; -- goto yy257; -- } -- } else { -- if (yych <= '{') { -- if (yych <= '`') goto yy256; -- if (yych <= 'a') goto yy280; -- if (yych <= 'z') goto yy257; -- goto yy256; -- } else { -- if (yych == '}') goto yy256; -- if (yych <= '~') goto yy249; -- goto yy256; -- } -- } -- } --yy251: -- YYDEBUG(251, *YYCURSOR); -- yyaccept = 4; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= 'N') { -- if (yych <= '%') { -- if (yych <= '\f') { -- if (yych <= 0x00) goto yy249; -- if (yych <= 0x08) goto yy256; -- if (yych <= '\n') goto yy249; -- goto yy256; -- } else { -- if (yych <= '\r') goto yy249; -- if (yych <= 0x1F) goto yy256; -- if (yych <= '"') goto yy249; -- goto yy256; -- } -- } else { -- if (yych <= ':') { -- if (yych <= ')') goto yy249; -- if (yych <= '/') goto yy256; -- if (yych <= '9') goto yy257; -- goto yy256; -- } else { -- if (yych <= '<') { -- if (yych <= ';') goto yy249; -- goto yy256; -- } else { -- if (yych <= '=') goto yy249; -- if (yych <= '@') goto yy256; -- goto yy257; -- } -- } -- } -- } else { -- if (yych <= 'n') { -- if (yych <= 'Z') { -- if (yych <= 'O') goto yy276; -- if (yych == 'U') goto yy277; -- goto yy257; -- } else { -- if (yych <= '^') { -- if (yych <= ']') goto yy256; -- goto yy249; -- } else { -- if (yych == '`') goto yy256; -- goto yy257; -- } -- } -- } else { -- if (yych <= 'z') { -- if (yych <= 'o') goto yy276; -- if (yych == 'u') goto yy277; -- goto yy257; -- } else { -- if (yych <= '|') { -- if (yych <= '{') goto yy256; -- goto yy249; -- } else { -- if (yych == '~') goto yy249; -- goto yy256; -- } -- } -- } -- } --yy252: -- YYDEBUG(252, *YYCURSOR); -- yyaccept = 4; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= 'E') { -- if (yych <= '%') { -- if (yych <= '\f') { -- if (yych <= 0x00) goto yy249; -- if (yych <= 0x08) goto yy256; -- if (yych <= '\n') goto yy249; -- goto yy256; -- } else { -- if (yych <= '\r') goto yy249; -- if (yych <= 0x1F) goto yy256; -- if (yych <= '"') goto yy249; -- goto yy256; -- } -- } else { -- if (yych <= ':') { -- if (yych <= ')') goto yy249; -- if (yych <= '/') goto yy256; -- if (yych <= '9') goto yy257; -- goto yy256; -- } else { -- if (yych <= '<') { -- if (yych <= ';') goto yy249; -- goto yy256; -- } else { -- if (yych <= '=') goto yy249; -- if (yych <= '@') goto yy256; -- goto yy257; -- } -- } -- } -- } else { -- if (yych <= 'e') { -- if (yych <= 'Z') { -- if (yych <= 'F') goto yy271; -- if (yych == 'N') goto yy265; -- goto yy257; -- } else { -- if (yych <= '^') { -- if (yych <= ']') goto yy256; -- goto yy249; -- } else { -- if (yych == '`') goto yy256; -- goto yy257; -- } -- } -- } else { -- if (yych <= 'z') { -- if (yych <= 'f') goto yy271; -- if (yych == 'n') goto yy265; -- goto yy257; -- } else { -- if (yych <= '|') { -- if (yych <= '{') goto yy256; -- goto yy249; -- } else { -- if (yych == '~') goto yy249; -- goto yy256; -- } -- } -- } -- } --yy253: -- YYDEBUG(253, *YYCURSOR); -- yyaccept = 4; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '=') { -- if (yych <= '"') { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy249; -- if (yych <= 0x08) goto yy256; -- goto yy249; -- } else { -- if (yych == '\r') goto yy249; -- if (yych <= 0x1F) goto yy256; -- goto yy249; -- } -- } else { -- if (yych <= '9') { -- if (yych <= '%') goto yy256; -- if (yych <= ')') goto yy249; -- if (yych <= '/') goto yy256; -- goto yy257; -- } else { -- if (yych == ';') goto yy249; -- if (yych <= '<') goto yy256; -- goto yy249; -- } -- } -- } else { -- if (yych <= '`') { -- if (yych <= 'Z') { -- if (yych <= '@') goto yy256; -- if (yych == 'R') goto yy269; -- goto yy257; -- } else { -- if (yych <= ']') goto yy256; -- if (yych <= '^') goto yy249; -- if (yych <= '_') goto yy257; -- goto yy256; -- } -- } else { -- if (yych <= '{') { -- if (yych == 'r') goto yy269; -- if (yych <= 'z') goto yy257; -- goto yy256; -- } else { -- if (yych == '}') goto yy256; -- if (yych <= '~') goto yy249; -- goto yy256; -- } -- } -- } --yy254: -- YYDEBUG(254, *YYCURSOR); -- yyaccept = 4; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '=') { -- if (yych <= '"') { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy249; -- if (yych <= 0x08) goto yy256; -- goto yy249; -- } else { -- if (yych == '\r') goto yy249; -- if (yych <= 0x1F) goto yy256; -- goto yy249; -- } -- } else { -- if (yych <= '9') { -- if (yych <= '%') goto yy256; -- if (yych <= ')') goto yy249; -- if (yych <= '/') goto yy256; -- goto yy257; -- } else { -- if (yych == ';') goto yy249; -- if (yych <= '<') goto yy256; -- goto yy249; -- } -- } -- } else { -- if (yych <= '`') { -- if (yych <= 'Z') { -- if (yych <= '@') goto yy256; -- if (yych == 'E') goto yy259; -- goto yy257; -- } else { -- if (yych <= ']') goto yy256; -- if (yych <= '^') goto yy249; -- if (yych <= '_') goto yy257; -- goto yy256; -- } -- } else { -- if (yych <= '{') { -- if (yych == 'e') goto yy259; -- if (yych <= 'z') goto yy257; -- goto yy256; -- } else { -- if (yych == '}') goto yy256; -- if (yych <= '~') goto yy249; -- goto yy256; -- } -- } -- } --yy255: -- YYDEBUG(255, *YYCURSOR); -- yyaccept = 0; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; --yy256: -- YYDEBUG(256, *YYCURSOR); -- if (yybm[0+yych] & 2) { -- goto yy255; -- } -- if (yych == '$') goto yy260; -- goto yy229; --yy257: -- YYDEBUG(257, *YYCURSOR); -- yyaccept = 4; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(258, *YYCURSOR); -- if (yybm[0+yych] & 4) { -- goto yy257; -- } -- if (yych <= ')') { -- if (yych <= '\r') { -- if (yych <= 0x08) { -- if (yych <= 0x00) goto yy249; -- goto yy255; -- } else { -- if (yych <= '\n') goto yy249; -- if (yych <= '\f') goto yy255; -- goto yy249; -- } -- } else { -- if (yych <= '#') { -- if (yych <= 0x1F) goto yy255; -- if (yych <= '"') goto yy249; -- goto yy255; -- } else { -- if (yych <= '$') goto yy260; -- if (yych <= '%') goto yy255; -- goto yy249; -- } -- } -- } else { -- if (yych <= ']') { -- if (yych <= ';') { -- if (yych <= ':') goto yy255; -- goto yy249; -- } else { -- if (yych == '=') goto yy249; -- goto yy255; -- } -- } else { -- if (yych <= '|') { -- if (yych <= '^') goto yy249; -- if (yych <= '{') goto yy255; -- goto yy249; -- } else { -- if (yych == '~') goto yy249; -- goto yy255; -- } -- } -- } --yy259: -- YYDEBUG(259, *YYCURSOR); -- yyaccept = 4; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '=') { -- if (yych <= '"') { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy249; -- if (yych <= 0x08) goto yy256; -- goto yy249; -- } else { -- if (yych == '\r') goto yy249; -- if (yych <= 0x1F) goto yy256; -- goto yy249; -- } -- } else { -- if (yych <= '9') { -- if (yych <= '%') goto yy256; -- if (yych <= ')') goto yy249; -- if (yych <= '/') goto yy256; -- goto yy257; -- } else { -- if (yych == ';') goto yy249; -- if (yych <= '<') goto yy256; -- goto yy249; -- } -- } -- } else { -- if (yych <= '`') { -- if (yych <= 'Z') { -- if (yych <= '@') goto yy256; -- if (yych == 'S') goto yy265; -- goto yy257; -- } else { -- if (yych <= ']') goto yy256; -- if (yych <= '^') goto yy249; -- if (yych <= '_') goto yy257; -- goto yy256; -- } -- } else { -- if (yych <= '{') { -- if (yych == 's') goto yy265; -- if (yych <= 'z') goto yy257; -- goto yy256; -- } else { -- if (yych == '}') goto yy256; -- if (yych <= '~') goto yy249; -- goto yy256; -- } -- } -- } --yy260: -- YYDEBUG(260, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- if (yych <= '\\') { -- if (yych <= 0x00) goto yy261; -- if (yych <= '[') goto yy255; -- goto yy262; -- } else { -- if (yych != '{') goto yy255; -- } --yy261: -- YYDEBUG(261, *YYCURSOR); -- YYCURSOR = YYMARKER; -- if (yyaccept <= 3) { -- if (yyaccept <= 1) { -- if (yyaccept <= 0) { -- goto yy229; -- } else { -- goto yy231; -- } -- } else { -- if (yyaccept <= 2) { -- goto yy227; -- } else { -- goto yy244; -- } -- } -- } else { -- if (yyaccept <= 5) { -- if (yyaccept <= 4) { -- goto yy249; -- } else { -- goto yy266; -- } -- } else { -- goto yy273; -- } -- } --yy262: -- YYDEBUG(262, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- if (yybm[0+yych] & 8) { -- goto yy263; -- } -- goto yy255; --yy263: -- YYDEBUG(263, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(264, *YYCURSOR); -- if (yybm[0+yych] & 8) { -- goto yy263; -- } -- if (yych <= 0x00) goto yy229; -- if (yych == '\\') goto yy262; -- goto yy255; --yy265: -- YYDEBUG(265, *YYCURSOR); -- yyaccept = 5; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yybm[0+yych] & 16) { -- goto yy267; -- } -- if (yych <= ';') { -- if (yych <= ' ') { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy266; -- if (yych <= '\t') goto yy256; -- } else { -- if (yych != '\r') goto yy256; -- } -- } else { -- if (yych <= ')') { -- if (yych <= '"') goto yy266; -- if (yych <= '%') goto yy256; -- } else { -- if (yych <= '/') goto yy256; -- if (yych <= '9') goto yy257; -- if (yych <= ':') goto yy256; -- } -- } -- } else { -- if (yych <= '_') { -- if (yych <= '@') { -- if (yych != '=') goto yy256; -- } else { -- if (yych <= 'Z') goto yy257; -- if (yych <= ']') goto yy256; -- if (yych >= '_') goto yy257; -- } -- } else { -- if (yych <= '{') { -- if (yych <= '`') goto yy256; -- if (yych <= 'z') goto yy257; -- goto yy256; -- } else { -- if (yych == '}') goto yy256; -- if (yych >= 0x7F) goto yy256; -- } -- } -- } --yy266: -- YYDEBUG(266, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 421 "Zend/zend_ini_scanner.l" -- { /* TRUE value (when used outside option value/offset this causes parse error!) */ -- RETURN_TOKEN(BOOL_TRUE, "1", 1); --} --#line 3645 "Zend/zend_ini_scanner.c" --yy267: -- YYDEBUG(267, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(268, *YYCURSOR); -- if (yybm[0+yych] & 16) { -- goto yy267; -- } -- goto yy266; --yy269: -- YYDEBUG(269, *YYCURSOR); -- yyaccept = 4; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '=') { -- if (yych <= '"') { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy249; -- if (yych <= 0x08) goto yy256; -- goto yy249; -- } else { -- if (yych == '\r') goto yy249; -- if (yych <= 0x1F) goto yy256; -- goto yy249; -- } -- } else { -- if (yych <= '9') { -- if (yych <= '%') goto yy256; -- if (yych <= ')') goto yy249; -- if (yych <= '/') goto yy256; -- goto yy257; -- } else { -- if (yych == ';') goto yy249; -- if (yych <= '<') goto yy256; -- goto yy249; -- } -- } -- } else { -- if (yych <= '`') { -- if (yych <= 'Z') { -- if (yych <= '@') goto yy256; -- if (yych != 'U') goto yy257; -- } else { -- if (yych <= ']') goto yy256; -- if (yych <= '^') goto yy249; -- if (yych <= '_') goto yy257; -- goto yy256; -- } -- } else { -- if (yych <= '{') { -- if (yych == 'u') goto yy270; -- if (yych <= 'z') goto yy257; -- goto yy256; -- } else { -- if (yych == '}') goto yy256; -- if (yych <= '~') goto yy249; -- goto yy256; -- } -- } -- } --yy270: -- YYDEBUG(270, *YYCURSOR); -- yyaccept = 4; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '=') { -- if (yych <= '"') { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy249; -- if (yych <= 0x08) goto yy256; -- goto yy249; -- } else { -- if (yych == '\r') goto yy249; -- if (yych <= 0x1F) goto yy256; -- goto yy249; -- } -- } else { -- if (yych <= '9') { -- if (yych <= '%') goto yy256; -- if (yych <= ')') goto yy249; -- if (yych <= '/') goto yy256; -- goto yy257; -- } else { -- if (yych == ';') goto yy249; -- if (yych <= '<') goto yy256; -- goto yy249; -- } -- } -- } else { -- if (yych <= '`') { -- if (yych <= 'Z') { -- if (yych <= '@') goto yy256; -- if (yych == 'E') goto yy265; -- goto yy257; -- } else { -- if (yych <= ']') goto yy256; -- if (yych <= '^') goto yy249; -- if (yych <= '_') goto yy257; -- goto yy256; -- } -- } else { -- if (yych <= '{') { -- if (yych == 'e') goto yy265; -- if (yych <= 'z') goto yy257; -- goto yy256; -- } else { -- if (yych == '}') goto yy256; -- if (yych <= '~') goto yy249; -- goto yy256; -- } -- } -- } --yy271: -- YYDEBUG(271, *YYCURSOR); -- yyaccept = 4; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '=') { -- if (yych <= '"') { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy249; -- if (yych <= 0x08) goto yy256; -- goto yy249; -- } else { -- if (yych == '\r') goto yy249; -- if (yych <= 0x1F) goto yy256; -- goto yy249; -- } -- } else { -- if (yych <= '9') { -- if (yych <= '%') goto yy256; -- if (yych <= ')') goto yy249; -- if (yych <= '/') goto yy256; -- goto yy257; -- } else { -- if (yych == ';') goto yy249; -- if (yych <= '<') goto yy256; -- goto yy249; -- } -- } -- } else { -- if (yych <= '`') { -- if (yych <= 'Z') { -- if (yych <= '@') goto yy256; -- if (yych != 'F') goto yy257; -- } else { -- if (yych <= ']') goto yy256; -- if (yych <= '^') goto yy249; -- if (yych <= '_') goto yy257; -- goto yy256; -- } -- } else { -- if (yych <= '{') { -- if (yych == 'f') goto yy272; -- if (yych <= 'z') goto yy257; -- goto yy256; -- } else { -- if (yych == '}') goto yy256; -- if (yych <= '~') goto yy249; -- goto yy256; -- } -- } -- } --yy272: -- YYDEBUG(272, *YYCURSOR); -- yyaccept = 6; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yybm[0+yych] & 4) { -- goto yy257; -- } -- if (yych <= ')') { -- if (yych <= '\f') { -- if (yych <= 0x08) { -- if (yych >= 0x01) goto yy256; -- } else { -- if (yych <= '\t') goto yy274; -- if (yych >= '\v') goto yy256; -- } -- } else { -- if (yych <= ' ') { -- if (yych <= '\r') goto yy273; -- if (yych <= 0x1F) goto yy256; -- goto yy274; -- } else { -- if (yych <= '"') goto yy273; -- if (yych <= '%') goto yy256; -- } -- } -- } else { -- if (yych <= ']') { -- if (yych <= ';') { -- if (yych <= ':') goto yy256; -- } else { -- if (yych != '=') goto yy256; -- } -- } else { -- if (yych <= '|') { -- if (yych <= '^') goto yy273; -- if (yych <= '{') goto yy256; -- } else { -- if (yych != '~') goto yy256; -- } -- } -- } --yy273: -- YYDEBUG(273, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 425 "Zend/zend_ini_scanner.l" -- { /* FALSE value (when used outside option value/offset this causes parse error!)*/ -- RETURN_TOKEN(BOOL_FALSE, "", 0); --} --#line 3855 "Zend/zend_ini_scanner.c" --yy274: -- YYDEBUG(274, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(275, *YYCURSOR); -- if (yych == '\t') goto yy274; -- if (yych == ' ') goto yy274; -- goto yy273; --yy276: -- YYDEBUG(276, *YYCURSOR); -- yyaccept = 6; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '<') { -- if (yych <= ' ') { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy273; -- if (yych <= 0x08) goto yy256; -- if (yych <= '\t') goto yy274; -- goto yy273; -- } else { -- if (yych == '\r') goto yy273; -- if (yych <= 0x1F) goto yy256; -- goto yy274; -- } -- } else { -- if (yych <= '/') { -- if (yych <= '"') goto yy273; -- if (yych <= '%') goto yy256; -- if (yych <= ')') goto yy273; -- goto yy256; -- } else { -- if (yych <= '9') goto yy257; -- if (yych == ';') goto yy273; -- goto yy256; -- } -- } -- } else { -- if (yych <= '_') { -- if (yych <= 'N') { -- if (yych <= '=') goto yy273; -- if (yych <= '@') goto yy256; -- if (yych <= 'M') goto yy257; -- goto yy279; -- } else { -- if (yych <= 'Z') goto yy257; -- if (yych <= ']') goto yy256; -- if (yych <= '^') goto yy273; -- goto yy257; -- } -- } else { -- if (yych <= 'z') { -- if (yych <= '`') goto yy256; -- if (yych == 'n') goto yy279; -- goto yy257; -- } else { -- if (yych <= '|') { -- if (yych <= '{') goto yy256; -- goto yy273; -- } else { -- if (yych == '~') goto yy273; -- goto yy256; -- } -- } -- } -- } --yy277: -- YYDEBUG(277, *YYCURSOR); -- yyaccept = 4; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '=') { -- if (yych <= '"') { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy249; -- if (yych <= 0x08) goto yy256; -- goto yy249; -- } else { -- if (yych == '\r') goto yy249; -- if (yych <= 0x1F) goto yy256; -- goto yy249; -- } -- } else { -- if (yych <= '9') { -- if (yych <= '%') goto yy256; -- if (yych <= ')') goto yy249; -- if (yych <= '/') goto yy256; -- goto yy257; -- } else { -- if (yych == ';') goto yy249; -- if (yych <= '<') goto yy256; -- goto yy249; -- } -- } -- } else { -- if (yych <= '`') { -- if (yych <= 'Z') { -- if (yych <= '@') goto yy256; -- if (yych != 'L') goto yy257; -- } else { -- if (yych <= ']') goto yy256; -- if (yych <= '^') goto yy249; -- if (yych <= '_') goto yy257; -- goto yy256; -- } -- } else { -- if (yych <= '{') { -- if (yych == 'l') goto yy278; -- if (yych <= 'z') goto yy257; -- goto yy256; -- } else { -- if (yych == '}') goto yy256; -- if (yych <= '~') goto yy249; -- goto yy256; -- } -- } -- } --yy278: -- YYDEBUG(278, *YYCURSOR); -- yyaccept = 4; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '=') { -- if (yych <= '"') { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy249; -- if (yych <= 0x08) goto yy256; -- goto yy249; -- } else { -- if (yych == '\r') goto yy249; -- if (yych <= 0x1F) goto yy256; -- goto yy249; -- } -- } else { -- if (yych <= '9') { -- if (yych <= '%') goto yy256; -- if (yych <= ')') goto yy249; -- if (yych <= '/') goto yy256; -- goto yy257; -- } else { -- if (yych == ';') goto yy249; -- if (yych <= '<') goto yy256; -- goto yy249; -- } -- } -- } else { -- if (yych <= '`') { -- if (yych <= 'Z') { -- if (yych <= '@') goto yy256; -- if (yych == 'L') goto yy272; -- goto yy257; -- } else { -- if (yych <= ']') goto yy256; -- if (yych <= '^') goto yy249; -- if (yych <= '_') goto yy257; -- goto yy256; -- } -- } else { -- if (yych <= '{') { -- if (yych == 'l') goto yy272; -- if (yych <= 'z') goto yy257; -- goto yy256; -- } else { -- if (yych == '}') goto yy256; -- if (yych <= '~') goto yy249; -- goto yy256; -- } -- } -- } --yy279: -- YYDEBUG(279, *YYCURSOR); -- yyaccept = 4; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '=') { -- if (yych <= '"') { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy249; -- if (yych <= 0x08) goto yy256; -- goto yy249; -- } else { -- if (yych == '\r') goto yy249; -- if (yych <= 0x1F) goto yy256; -- goto yy249; -- } -- } else { -- if (yych <= '9') { -- if (yych <= '%') goto yy256; -- if (yych <= ')') goto yy249; -- if (yych <= '/') goto yy256; -- goto yy257; -- } else { -- if (yych == ';') goto yy249; -- if (yych <= '<') goto yy256; -- goto yy249; -- } -- } -- } else { -- if (yych <= '`') { -- if (yych <= 'Z') { -- if (yych <= '@') goto yy256; -- if (yych == 'E') goto yy272; -- goto yy257; -- } else { -- if (yych <= ']') goto yy256; -- if (yych <= '^') goto yy249; -- if (yych <= '_') goto yy257; -- goto yy256; -- } -- } else { -- if (yych <= '{') { -- if (yych == 'e') goto yy272; -- if (yych <= 'z') goto yy257; -- goto yy256; -- } else { -- if (yych == '}') goto yy256; -- if (yych <= '~') goto yy249; -- goto yy256; -- } -- } -- } --yy280: -- YYDEBUG(280, *YYCURSOR); -- yyaccept = 4; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '=') { -- if (yych <= '"') { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy249; -- if (yych <= 0x08) goto yy256; -- goto yy249; -- } else { -- if (yych == '\r') goto yy249; -- if (yych <= 0x1F) goto yy256; -- goto yy249; -- } -- } else { -- if (yych <= '9') { -- if (yych <= '%') goto yy256; -- if (yych <= ')') goto yy249; -- if (yych <= '/') goto yy256; -- goto yy257; -- } else { -- if (yych == ';') goto yy249; -- if (yych <= '<') goto yy256; -- goto yy249; -- } -- } -- } else { -- if (yych <= '`') { -- if (yych <= 'Z') { -- if (yych <= '@') goto yy256; -- if (yych != 'L') goto yy257; -- } else { -- if (yych <= ']') goto yy256; -- if (yych <= '^') goto yy249; -- if (yych <= '_') goto yy257; -- goto yy256; -- } -- } else { -- if (yych <= '{') { -- if (yych == 'l') goto yy281; -- if (yych <= 'z') goto yy257; -- goto yy256; -- } else { -- if (yych == '}') goto yy256; -- if (yych <= '~') goto yy249; -- goto yy256; -- } -- } -- } --yy281: -- YYDEBUG(281, *YYCURSOR); -- yyaccept = 4; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '=') { -- if (yych <= '"') { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy249; -- if (yych <= 0x08) goto yy256; -- goto yy249; -- } else { -- if (yych == '\r') goto yy249; -- if (yych <= 0x1F) goto yy256; -- goto yy249; -- } -- } else { -- if (yych <= '9') { -- if (yych <= '%') goto yy256; -- if (yych <= ')') goto yy249; -- if (yych <= '/') goto yy256; -- goto yy257; -- } else { -- if (yych == ';') goto yy249; -- if (yych <= '<') goto yy256; -- goto yy249; -- } -- } -- } else { -- if (yych <= '`') { -- if (yych <= 'Z') { -- if (yych <= '@') goto yy256; -- if (yych != 'S') goto yy257; -- } else { -- if (yych <= ']') goto yy256; -- if (yych <= '^') goto yy249; -- if (yych <= '_') goto yy257; -- goto yy256; -- } -- } else { -- if (yych <= '{') { -- if (yych == 's') goto yy282; -- if (yych <= 'z') goto yy257; -- goto yy256; -- } else { -- if (yych == '}') goto yy256; -- if (yych <= '~') goto yy249; -- goto yy256; -- } -- } -- } --yy282: -- YYDEBUG(282, *YYCURSOR); -- yyaccept = 4; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '=') { -- if (yych <= '"') { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy249; -- if (yych <= 0x08) goto yy256; -- goto yy249; -- } else { -- if (yych == '\r') goto yy249; -- if (yych <= 0x1F) goto yy256; -- goto yy249; -- } -- } else { -- if (yych <= '9') { -- if (yych <= '%') goto yy256; -- if (yych <= ')') goto yy249; -- if (yych <= '/') goto yy256; -- goto yy257; -- } else { -- if (yych == ';') goto yy249; -- if (yych <= '<') goto yy256; -- goto yy249; -- } -- } -- } else { -- if (yych <= '`') { -- if (yych <= 'Z') { -- if (yych <= '@') goto yy256; -- if (yych == 'E') goto yy272; -- goto yy257; -- } else { -- if (yych <= ']') goto yy256; -- if (yych <= '^') goto yy249; -- if (yych <= '_') goto yy257; -- goto yy256; -- } -- } else { -- if (yych <= '{') { -- if (yych == 'e') goto yy272; -- if (yych <= 'z') goto yy257; -- goto yy256; -- } else { -- if (yych == '}') goto yy256; -- if (yych <= '~') goto yy249; -- goto yy256; -- } -- } -- } --yy283: -- YYDEBUG(283, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(2); -- yych = *YYCURSOR; --yy284: -- YYDEBUG(284, *YYCURSOR); -- if (yybm[0+yych] & 32) { -- goto yy283; -- } -- if (yych >= '\r') goto yy287; --yy285: -- YYDEBUG(285, *YYCURSOR); -- ++YYCURSOR; --yy286: -- YYDEBUG(286, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 585 "Zend/zend_ini_scanner.l" -- { /* Comment */ -- BEGIN(INITIAL); -- SCNG(lineno)++; -- return END_OF_LINE; --} --#line 4248 "Zend/zend_ini_scanner.c" --yy287: -- YYDEBUG(287, *YYCURSOR); -- yych = *++YYCURSOR; -- if (yych == '\n') goto yy285; -- goto yy286; --yy288: -- YYDEBUG(288, *YYCURSOR); -- yyaccept = 3; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(289, *YYCURSOR); -- if (yybm[0+yych] & 64) { -- goto yy288; -- } -- if (yych <= ')') { -- if (yych <= '\r') { -- if (yych <= 0x08) { -- if (yych <= 0x00) goto yy244; -- goto yy255; -- } else { -- if (yych <= '\n') goto yy244; -- if (yych <= '\f') goto yy255; -- goto yy244; -- } -- } else { -- if (yych <= '#') { -- if (yych <= 0x1F) goto yy255; -- if (yych <= '"') goto yy244; -- goto yy255; -- } else { -- if (yych <= '$') goto yy260; -- if (yych <= '%') goto yy255; -- goto yy244; -- } -- } -- } else { -- if (yych <= ']') { -- if (yych <= ';') { -- if (yych <= ':') goto yy255; -- goto yy244; -- } else { -- if (yych == '=') goto yy244; -- goto yy255; -- } -- } else { -- if (yych <= '|') { -- if (yych <= '^') goto yy244; -- if (yych <= '{') goto yy255; -- goto yy244; -- } else { -- if (yych == '~') goto yy244; -- goto yy255; -- } -- } -- } --yy290: -- YYDEBUG(290, *YYCURSOR); -- yyaccept = 3; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(291, *YYCURSOR); -- if (yych <= '.') { -- if (yych <= 0x1F) { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy244; -- if (yych <= 0x08) goto yy255; -- goto yy244; -- } else { -- if (yych == '\r') goto yy244; -- goto yy255; -- } -- } else { -- if (yych <= '$') { -- if (yych <= '"') goto yy244; -- if (yych <= '#') goto yy255; -- goto yy260; -- } else { -- if (yych <= '%') goto yy255; -- if (yych <= ')') goto yy244; -- if (yych <= '-') goto yy255; -- goto yy288; -- } -- } -- } else { -- if (yych <= '=') { -- if (yych <= ':') { -- if (yych <= '/') goto yy255; -- if (yych <= '9') goto yy290; -- goto yy255; -- } else { -- if (yych == '<') goto yy255; -- goto yy244; -- } -- } else { -- if (yych <= '{') { -- if (yych == '^') goto yy244; -- goto yy255; -- } else { -- if (yych == '}') goto yy255; -- if (yych <= '~') goto yy244; -- goto yy255; -- } -- } -- } --yy292: -- YYDEBUG(292, *YYCURSOR); -- yyaccept = 3; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(293, *YYCURSOR); -- if (yych <= '/') { -- if (yych <= 0x1F) { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy244; -- if (yych <= 0x08) goto yy255; -- goto yy244; -- } else { -- if (yych == '\r') goto yy244; -- goto yy255; -- } -- } else { -- if (yych <= '$') { -- if (yych <= '"') goto yy244; -- if (yych <= '#') goto yy255; -- goto yy260; -- } else { -- if (yych <= '%') goto yy255; -- if (yych <= ')') goto yy244; -- goto yy255; -- } -- } -- } else { -- if (yych <= ']') { -- if (yych <= ';') { -- if (yych <= '9') goto yy292; -- if (yych <= ':') goto yy255; -- goto yy244; -- } else { -- if (yych == '=') goto yy244; -- goto yy255; -- } -- } else { -- if (yych <= '|') { -- if (yych <= '^') goto yy244; -- if (yych <= '{') goto yy255; -- goto yy244; -- } else { -- if (yych == '~') goto yy244; -- goto yy255; -- } -- } -- } --yy294: -- YYDEBUG(294, *YYCURSOR); -- yyaccept = 3; -- YYMARKER = ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(295, *YYCURSOR); -- if (yych <= '/') { -- if (yych <= 0x1F) { -- if (yych <= '\n') { -- if (yych <= 0x00) goto yy244; -- if (yych <= 0x08) goto yy255; -- goto yy244; -- } else { -- if (yych == '\r') goto yy244; -- goto yy255; -- } -- } else { -- if (yych <= '$') { -- if (yych <= '"') goto yy244; -- if (yych <= '#') goto yy255; -- goto yy260; -- } else { -- if (yych <= '%') goto yy255; -- if (yych <= ')') goto yy244; -- goto yy255; -- } -- } -- } else { -- if (yych <= ']') { -- if (yych <= ';') { -- if (yych <= '9') goto yy294; -- if (yych <= ':') goto yy255; -- goto yy244; -- } else { -- if (yych == '=') goto yy244; -- goto yy255; -- } -- } else { -- if (yych <= '|') { -- if (yych <= '^') goto yy244; -- if (yych <= '{') goto yy255; -- goto yy244; -- } else { -- if (yych == '~') goto yy244; -- goto yy255; -- } -- } -- } --yy296: -- YYDEBUG(296, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; -- YYDEBUG(297, *YYCURSOR); -- if (yybm[0+yych] & 128) { -- goto yy296; -- } -- YYDEBUG(298, *YYCURSOR); -- ++YYCURSOR; -- YYDEBUG(299, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 368 "Zend/zend_ini_scanner.l" -- { /* Raw string */ -- /* Eat leading and trailing single quotes */ -- if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') { -- SCNG(yy_text)++; -- yyleng = yyleng - 2; -- } -- RETURN_TOKEN(TC_RAW, yytext, yyleng); --} --#line 4475 "Zend/zend_ini_scanner.c" --yy300: -- YYDEBUG(300, *YYCURSOR); -- ++YYCURSOR; -- YYDEBUG(301, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 401 "Zend/zend_ini_scanner.l" -- { /* Variable start */ -- yy_push_state(ST_VARNAME TSRMLS_CC); -- return TC_DOLLAR_CURLY; --} --#line 4486 "Zend/zend_ini_scanner.c" --yy302: -- YYDEBUG(302, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; --yy303: -- YYDEBUG(303, *YYCURSOR); -- if (yych == '\t') goto yy302; -- if (yych == ' ') goto yy302; -- goto yy236; --yy304: -- YYDEBUG(304, *YYCURSOR); -- yych = *++YYCURSOR; -- goto yy233; --yy305: -- YYDEBUG(305, *YYCURSOR); -- yyaccept = 1; -- YYMARKER = ++YYCURSOR; -- YYFILL(2); -- yych = *YYCURSOR; --yy306: -- YYDEBUG(306, *YYCURSOR); -- if (yych <= 0x1F) { -- if (yych <= '\n') { -- if (yych <= 0x08) goto yy231; -- if (yych <= '\t') goto yy305; -- goto yy304; -- } else { -- if (yych == '\r') goto yy308; -- goto yy231; -- } -- } else { -- if (yych <= '"') { -- if (yych <= ' ') goto yy305; -- if (yych <= '!') goto yy231; -- } else { -- if (yych == ';') goto yy283; -- goto yy231; -- } -- } -- YYDEBUG(307, *YYCURSOR); -- yych = *++YYCURSOR; -- goto yy238; --yy308: -- YYDEBUG(308, *YYCURSOR); -- ++YYCURSOR; -- if ((yych = *YYCURSOR) == '\n') goto yy304; -- goto yy233; -- } --/* *********************************** */ --yyc_ST_VARNAME: -- { -- static const unsigned char yybm[] = { -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 0, 0, 128, 128, 0, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 0, 0, 128, 0, 128, 0, 128, -- 0, 0, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 0, 128, 0, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 0, 128, 128, 0, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 0, 0, 0, 0, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- 128, 128, 128, 128, 128, 128, 128, 128, -- }; -- YYDEBUG(309, *YYCURSOR); -- YYFILL(2); -- yych = *YYCURSOR; -- if (yych <= ')') { -- if (yych <= '"') { -- if (yych <= '\f') { -- if (yych <= 0x08) goto yy311; -- if (yych <= '\n') goto yy313; -- } else { -- if (yych <= '\r') goto yy313; -- if (yych >= '!') goto yy313; -- } -- } else { -- if (yych <= '%') { -- if (yych == '$') goto yy313; -- } else { -- if (yych != '\'') goto yy313; -- } -- } -- } else { -- if (yych <= '[') { -- if (yych <= '<') { -- if (yych == ';') goto yy313; -- } else { -- if (yych <= '=') goto yy313; -- if (yych >= '[') goto yy313; -- } -- } else { -- if (yych <= 'z') { -- if (yych == '^') goto yy313; -- } else { -- if (yych == '}') goto yy315; -- if (yych <= '~') goto yy313; -- } -- } -- } --yy311: -- YYDEBUG(311, *YYCURSOR); -- ++YYCURSOR; -- yych = *YYCURSOR; -- goto yy318; --yy312: -- YYDEBUG(312, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 406 "Zend/zend_ini_scanner.l" -- { /* Variable name */ -- /* Eat leading whitespace */ -- EAT_LEADING_WHITESPACE(); -- -- /* Eat trailing whitespace */ -- EAT_TRAILING_WHITESPACE(); -- -- RETURN_TOKEN(TC_VARNAME, yytext, yyleng); --} --#line 4627 "Zend/zend_ini_scanner.c" --yy313: -- YYDEBUG(313, *YYCURSOR); -- ++YYCURSOR; -- YYDEBUG(314, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 603 "Zend/zend_ini_scanner.l" -- { -- return 0; --} --#line 4637 "Zend/zend_ini_scanner.c" --yy315: -- YYDEBUG(315, *YYCURSOR); -- ++YYCURSOR; -- YYDEBUG(316, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); --#line 416 "Zend/zend_ini_scanner.l" -- { /* Variable end */ -- yy_pop_state(TSRMLS_C); -- return '}'; --} --#line 4648 "Zend/zend_ini_scanner.c" --yy317: -- YYDEBUG(317, *YYCURSOR); -- ++YYCURSOR; -- YYFILL(1); -- yych = *YYCURSOR; --yy318: -- YYDEBUG(318, *YYCURSOR); -- if (yybm[0+yych] & 128) { -- goto yy317; -- } -- goto yy312; -- } --} --#line 607 "Zend/zend_ini_scanner.l" -- --} ++/* Generated by re2c 0.13.5 */ ++#line 1 "Zend/zend_ini_scanner.l" ++/* ++ +----------------------------------------------------------------------+ ++ | Zend Engine | ++ +----------------------------------------------------------------------+ ++ | Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) | ++ +----------------------------------------------------------------------+ ++ | This source file is subject to version 2.00 of the Zend license, | ++ | that is bundled with this package in the file LICENSE, and is | ++ | available through the world-wide-web at the following url: | ++ | http://www.zend.com/license/2_00.txt. | ++ | If you did not receive a copy of the Zend license and are unable to | ++ | obtain it through the world-wide-web, please send a note to | ++ | license@zend.com so we can mail you a copy immediately. | ++ +----------------------------------------------------------------------+ ++ | Authors: Zeev Suraski | ++ | Jani Taskinen | ++ | Marcus Boerger | ++ | Nuno Lopes | ++ | Scott MacVicar | ++ +----------------------------------------------------------------------+ ++*/ ++ ++/* $Id$ */ ++ ++#include ++#include "zend.h" ++#include "zend_globals.h" ++#include ++#include "zend_ini_scanner.h" ++ ++#if 0 ++# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c) ++#else ++# define YYDEBUG(s, c) ++#endif ++ ++#include "zend_ini_scanner_defs.h" ++ ++#define YYCTYPE unsigned char ++/* allow the scanner to read one null byte after the end of the string (from ZEND_MMAP_AHEAD) ++ * so that if will be able to terminate to match the current token (e.g. non-enclosed string) */ ++#define YYFILL(n) { if (YYCURSOR > YYLIMIT) return 0; } ++#define YYCURSOR SCNG(yy_cursor) ++#define YYLIMIT SCNG(yy_limit) ++#define YYMARKER SCNG(yy_marker) ++ ++#define YYGETCONDITION() SCNG(yy_state) ++#define YYSETCONDITION(s) SCNG(yy_state) = s ++ ++#define STATE(name) yyc##name ++ ++/* emulate flex constructs */ ++#define BEGIN(state) YYSETCONDITION(STATE(state)) ++#define YYSTATE YYGETCONDITION() ++#define yytext ((char*)SCNG(yy_text)) ++#define yyleng SCNG(yy_leng) ++#define yyless(x) do { YYCURSOR = (unsigned char*)yytext + x; \ ++ yyleng = (unsigned int)x; } while(0) ++ ++/* #define yymore() goto yymore_restart */ ++ ++/* perform sanity check. If this message is triggered you should ++ increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */ ++#define YYMAXFILL 6 ++#if ZEND_MMAP_AHEAD < (YYMAXFILL + 1) ++# error ZEND_MMAP_AHEAD should be greater than YYMAXFILL ++#endif ++ ++ ++/* How it works (for the core ini directives): ++ * =========================================== ++ * ++ * 1. Scanner scans file for tokens and passes them to parser. ++ * 2. Parser parses the tokens and passes the name/value pairs to the callback ++ * function which stores them in the configuration hash table. ++ * 3. Later REGISTER_INI_ENTRIES() is called which triggers the actual ++ * registering of ini entries and uses zend_get_configuration_directive() ++ * to fetch the previously stored name/value pair from configuration hash table ++ * and registers the static ini entries which match the name to the value ++ * into EG(ini_directives) hash table. ++ * 4. PATH section entries are used per-request from down to top, each overriding ++ * previous if one exists. zend_alter_ini_entry() is called for each entry. ++ * Settings in PATH section are ZEND_INI_SYSTEM accessible and thus mimics the ++ * php_admin_* directives used within Apache httpd.conf when PHP is compiled as ++ * module for Apache. ++ * 5. User defined ini files (like .htaccess for apache) are parsed for each request and ++ * stored in separate hash defined by SAPI. ++ */ ++ ++/* TODO: (ordered by importance :-) ++ * =============================================================================== ++ * ++ * - Separate constant lookup totally from plain strings (using CONSTANT pattern) ++ * - Add #if .. #else .. #endif and ==, !=, <, > , <=, >= operators ++ * - Add #include "some.ini" ++ * - Allow variables to refer to options also when using parse_ini_file() ++ * ++ */ ++ ++/* Globals Macros */ ++#define SCNG INI_SCNG ++#ifdef ZTS ++ZEND_API ts_rsrc_id ini_scanner_globals_id; ++#else ++ZEND_API zend_ini_scanner_globals ini_scanner_globals; ++#endif ++ ++/* Eat leading whitespace */ ++#define EAT_LEADING_WHITESPACE() \ ++ while (yytext[0]) { \ ++ if (yytext[0] == ' ' || yytext[0] == '\t') { \ ++ SCNG(yy_text)++; \ ++ yyleng--; \ ++ } else { \ ++ break; \ ++ } \ ++ } ++ ++/* Eat trailing whitespace + extra char */ ++#define EAT_TRAILING_WHITESPACE_EX(ch) \ ++ while (yyleng > 0 && ( \ ++ (ch != 'X' && yytext[yyleng - 1] == ch) || \ ++ yytext[yyleng - 1] == '\n' || \ ++ yytext[yyleng - 1] == '\r' || \ ++ yytext[yyleng - 1] == '\t' || \ ++ yytext[yyleng - 1] == ' ') \ ++ ) { \ ++ yyleng--; \ ++ } ++ ++/* Eat trailing whitespace */ ++#define EAT_TRAILING_WHITESPACE() EAT_TRAILING_WHITESPACE_EX('X') ++ ++#define zend_ini_copy_value(retval, str, len) { \ ++ Z_STRVAL_P(retval) = zend_strndup(str, len); \ ++ Z_STRLEN_P(retval) = len; \ ++ Z_TYPE_P(retval) = IS_STRING; \ ++} ++ ++#define RETURN_TOKEN(type, str, len) { \ ++ zend_ini_copy_value(ini_lval, str, len); \ ++ return type; \ ++} ++ ++static void _yy_push_state(int new_state TSRMLS_DC) ++{ ++ zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION(), sizeof(int)); ++ YYSETCONDITION(new_state); ++} ++ ++#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm) ++ ++static void yy_pop_state(TSRMLS_D) ++{ ++ int *stack_state; ++ zend_stack_top(&SCNG(state_stack), (void **) &stack_state); ++ YYSETCONDITION(*stack_state); ++ zend_stack_del_top(&SCNG(state_stack)); ++} ++ ++static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC) ++{ ++ YYCURSOR = (YYCTYPE*)str; ++ SCNG(yy_start) = YYCURSOR; ++ YYLIMIT = YYCURSOR + len; ++} ++ ++#define ini_filename SCNG(filename) ++ ++/* {{{ init_ini_scanner() ++*/ ++static int init_ini_scanner(int scanner_mode, zend_file_handle *fh TSRMLS_DC) ++{ ++ /* Sanity check */ ++ if (scanner_mode != ZEND_INI_SCANNER_NORMAL && scanner_mode != ZEND_INI_SCANNER_RAW) { ++ zend_error(E_WARNING, "Invalid scanner mode"); ++ return FAILURE; ++ } ++ ++ SCNG(lineno) = 1; ++ SCNG(scanner_mode) = scanner_mode; ++ SCNG(yy_in) = fh; ++ ++ if (fh != NULL) { ++ ini_filename = zend_strndup(fh->filename, strlen(fh->filename)); ++ } else { ++ ini_filename = NULL; ++ } ++ ++ zend_stack_init(&SCNG(state_stack)); ++ BEGIN(INITIAL); ++ ++ return SUCCESS; ++} ++/* }}} */ ++ ++/* {{{ shutdown_ini_scanner() ++*/ ++void shutdown_ini_scanner(TSRMLS_D) ++{ ++ zend_stack_destroy(&SCNG(state_stack)); ++ if (ini_filename) { ++ free(ini_filename); ++ } ++} ++/* }}} */ ++ ++/* {{{ zend_ini_scanner_get_lineno() ++*/ ++int zend_ini_scanner_get_lineno(TSRMLS_D) ++{ ++ return SCNG(lineno); ++} ++/* }}} */ ++ ++/* {{{ zend_ini_scanner_get_filename() ++*/ ++char *zend_ini_scanner_get_filename(TSRMLS_D) ++{ ++ return ini_filename ? ini_filename : "Unknown"; ++} ++/* }}} */ ++ ++/* {{{ zend_ini_open_file_for_scanning() ++*/ ++int zend_ini_open_file_for_scanning(zend_file_handle *fh, int scanner_mode TSRMLS_DC) ++{ ++ char *buf; ++ size_t size; ++ ++ if (zend_stream_fixup(fh, &buf, &size TSRMLS_CC) == FAILURE) { ++ return FAILURE; ++ } ++ ++ if (init_ini_scanner(scanner_mode, fh TSRMLS_CC) == FAILURE) { ++ zend_file_handle_dtor(fh TSRMLS_CC); ++ return FAILURE; ++ } ++ ++ yy_scan_buffer(buf, size TSRMLS_CC); ++ ++ return SUCCESS; ++} ++/* }}} */ ++ ++/* {{{ zend_ini_prepare_string_for_scanning() ++*/ ++int zend_ini_prepare_string_for_scanning(char *str, int scanner_mode TSRMLS_DC) ++{ ++ int len = strlen(str); ++ ++ if (init_ini_scanner(scanner_mode, NULL TSRMLS_CC) == FAILURE) { ++ return FAILURE; ++ } ++ ++ yy_scan_buffer(str, len TSRMLS_CC); ++ ++ return SUCCESS; ++} ++/* }}} */ ++ ++/* {{{ zend_ini_escape_string() ++ */ ++static void zend_ini_escape_string(zval *lval, char *str, int len, char quote_type TSRMLS_DC) ++{ ++ register char *s, *t; ++ char *end; ++ ++ zend_ini_copy_value(lval, str, len); ++ ++ /* convert escape sequences */ ++ s = t = Z_STRVAL_P(lval); ++ end = s + Z_STRLEN_P(lval); ++ ++ while (s < end) { ++ if (*s == '\\') { ++ s++; ++ if (s >= end) { ++ *t++ = '\\'; ++ continue; ++ } ++ switch (*s) { ++ case '"': ++ if (*s != quote_type) { ++ *t++ = '\\'; ++ *t++ = *s; ++ break; ++ } ++ case '\\': ++ case '$': ++ *t++ = *s; ++ Z_STRLEN_P(lval)--; ++ break; ++ default: ++ *t++ = '\\'; ++ *t++ = *s; ++ break; ++ } ++ } else { ++ *t++ = *s; ++ } ++ if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) { ++ SCNG(lineno)++; ++ } ++ s++; ++ } ++ *t = 0; ++} ++/* }}} */ ++ ++int ini_lex(zval *ini_lval TSRMLS_DC) ++{ ++restart: ++ SCNG(yy_text) = YYCURSOR; ++ ++/* yymore_restart: */ ++ /* detect EOF */ ++ if (YYCURSOR >= YYLIMIT) { ++ if (YYSTATE == STATE(ST_VALUE) || YYSTATE == STATE(ST_RAW)) { ++ BEGIN(INITIAL); ++ return END_OF_LINE; ++ } ++ return 0; ++ } ++ ++ /* Eat any UTF-8 BOM we find in the first 3 bytes */ ++ if (YYCURSOR == SCNG(yy_start) && YYCURSOR + 3 < YYLIMIT) { ++ if (memcmp(YYCURSOR, "\xef\xbb\xbf", 3) == 0) { ++ YYCURSOR += 3; ++ goto restart; ++ } ++ } ++ ++#line 337 "Zend/zend_ini_scanner.c" ++{ ++ YYCTYPE yych; ++ unsigned int yyaccept = 0; ++ if (YYGETCONDITION() < 4) { ++ if (YYGETCONDITION() < 2) { ++ if (YYGETCONDITION() < 1) { ++ goto yyc_INITIAL; ++ } else { ++ goto yyc_ST_OFFSET; ++ } ++ } else { ++ if (YYGETCONDITION() < 3) { ++ goto yyc_ST_SECTION_VALUE; ++ } else { ++ goto yyc_ST_VALUE; ++ } ++ } ++ } else { ++ if (YYGETCONDITION() < 6) { ++ if (YYGETCONDITION() < 5) { ++ goto yyc_ST_SECTION_RAW; ++ } else { ++ goto yyc_ST_DOUBLE_QUOTES; ++ } ++ } else { ++ if (YYGETCONDITION() < 7) { ++ goto yyc_ST_VARNAME; ++ } else { ++ goto yyc_ST_RAW; ++ } ++ } ++ } ++/* *********************************** */ ++yyc_INITIAL: ++ { ++ static const unsigned char yybm[] = { ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 160, 0, 144, 144, 0, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 240, 128, 128, 144, 128, 144, 128, 144, ++ 128, 128, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 128, 144, 128, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 128, 144, 144, 128, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 128, 128, 128, 128, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ 144, 144, 144, 144, 144, 144, 144, 144, ++ }; ++ ++ YYDEBUG(0, *YYCURSOR); ++ YYFILL(5); ++ yych = *YYCURSOR; ++ YYDEBUG(-1, yych); ++ switch (yych) { ++ case '\t': goto yy4; ++ case '\n': goto yy6; ++ case '\r': goto yy8; ++ case ' ': goto yy9; ++ case '!': ++ case '"': ++ case '$': ++ case '&': ++ case '(': ++ case ')': ++ case '^': ++ case '{': ++ case '|': ++ case '}': ++ case '~': goto yy10; ++ case '#': goto yy12; ++ case '%': ++ case '\'': ++ case '*': ++ case '+': ++ case ',': ++ case '-': ++ case '.': ++ case '/': ++ case ':': ++ case '<': ++ case '>': ++ case '?': ++ case '@': ++ case ']': goto yy13; ++ case ';': goto yy14; ++ case '=': goto yy16; ++ case 'F': ++ case 'f': goto yy18; ++ case 'N': ++ case 'n': goto yy19; ++ case 'O': ++ case 'o': goto yy20; ++ case 'T': ++ case 't': goto yy21; ++ case 'Y': ++ case 'y': goto yy22; ++ case '[': goto yy23; ++ default: goto yy2; ++ } ++yy2: ++ YYDEBUG(2, *YYCURSOR); ++ ++YYCURSOR; ++ yych = *YYCURSOR; ++ goto yy26; ++yy3: ++ YYDEBUG(3, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 429 "Zend/zend_ini_scanner.l" ++ { /* Get option name */ ++ /* Eat leading whitespace */ ++ EAT_LEADING_WHITESPACE(); ++ ++ /* Eat trailing whitespace */ ++ EAT_TRAILING_WHITESPACE(); ++ ++ RETURN_TOKEN(TC_LABEL, yytext, yyleng); ++} ++#line 476 "Zend/zend_ini_scanner.c" ++yy4: ++ YYDEBUG(4, *YYCURSOR); ++ yyaccept = 0; ++ yych = *(YYMARKER = ++YYCURSOR); ++ goto yy68; ++yy5: ++ YYDEBUG(5, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 575 "Zend/zend_ini_scanner.l" ++ { ++ /* eat whitespace */ ++ goto restart; ++} ++#line 490 "Zend/zend_ini_scanner.c" ++yy6: ++ YYDEBUG(6, *YYCURSOR); ++ ++YYCURSOR; ++yy7: ++ YYDEBUG(7, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 580 "Zend/zend_ini_scanner.l" ++ { ++ SCNG(lineno)++; ++ return END_OF_LINE; ++} ++#line 502 "Zend/zend_ini_scanner.c" ++yy8: ++ YYDEBUG(8, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == '\n') goto yy71; ++ goto yy7; ++yy9: ++ YYDEBUG(9, *YYCURSOR); ++ yyaccept = 1; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= ' ') { ++ if (yych <= '\n') { ++ if (yych <= 0x08) goto yy26; ++ if (yych <= '\t') goto yy67; ++ goto yy71; ++ } else { ++ if (yych == '\r') goto yy72; ++ if (yych <= 0x1F) goto yy26; ++ goto yy69; ++ } ++ } else { ++ if (yych <= ':') { ++ if (yych == '#') goto yy58; ++ goto yy26; ++ } else { ++ if (yych <= ';') goto yy53; ++ if (yych == '=') goto yy51; ++ goto yy26; ++ } ++ } ++yy10: ++ YYDEBUG(10, *YYCURSOR); ++ ++YYCURSOR; ++ YYDEBUG(11, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 503 "Zend/zend_ini_scanner.l" ++ { /* Disallow these chars outside option values */ ++ return yytext[0]; ++} ++#line 541 "Zend/zend_ini_scanner.c" ++yy12: ++ YYDEBUG(12, *YYCURSOR); ++ yyaccept = 1; ++ yych = *(YYMARKER = ++YYCURSOR); ++ goto yy59; ++yy13: ++ YYDEBUG(13, *YYCURSOR); ++ yych = *++YYCURSOR; ++ goto yy26; ++yy14: ++ YYDEBUG(14, *YYCURSOR); ++ yyaccept = 2; ++ yych = *(YYMARKER = ++YYCURSOR); ++ goto yy54; ++ YYDEBUG(15, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 603 "Zend/zend_ini_scanner.l" ++ { ++ return 0; ++} ++#line 562 "Zend/zend_ini_scanner.c" ++yy16: ++ YYDEBUG(16, *YYCURSOR); ++ ++YYCURSOR; ++ yych = *YYCURSOR; ++ goto yy52; ++yy17: ++ YYDEBUG(17, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 439 "Zend/zend_ini_scanner.l" ++ { /* Start option value */ ++ if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) { ++ yy_push_state(ST_RAW TSRMLS_CC); ++ } else { ++ yy_push_state(ST_VALUE TSRMLS_CC); ++ } ++ return '='; ++} ++#line 580 "Zend/zend_ini_scanner.c" ++yy18: ++ YYDEBUG(18, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == 'A') goto yy48; ++ if (yych == 'a') goto yy48; ++ goto yy26; ++yy19: ++ YYDEBUG(19, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych <= 'U') { ++ if (yych == 'O') goto yy44; ++ if (yych <= 'T') goto yy26; ++ goto yy45; ++ } else { ++ if (yych <= 'o') { ++ if (yych <= 'n') goto yy26; ++ goto yy44; ++ } else { ++ if (yych == 'u') goto yy45; ++ goto yy26; ++ } ++ } ++yy20: ++ YYDEBUG(20, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych <= 'N') { ++ if (yych == 'F') goto yy38; ++ if (yych <= 'M') goto yy26; ++ goto yy31; ++ } else { ++ if (yych <= 'f') { ++ if (yych <= 'e') goto yy26; ++ goto yy38; ++ } else { ++ 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 == 'E') goto yy27; ++ if (yych == 'e') goto yy27; ++ goto yy26; ++yy23: ++ YYDEBUG(23, *YYCURSOR); ++ ++YYCURSOR; ++ YYDEBUG(24, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 358 "Zend/zend_ini_scanner.l" ++ { /* Section start */ ++ /* Enter section data lookup state */ ++ if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) { ++ yy_push_state(ST_SECTION_RAW TSRMLS_CC); ++ } else { ++ yy_push_state(ST_SECTION_VALUE TSRMLS_CC); ++ } ++ return TC_SECTION; ++} ++#line 646 "Zend/zend_ini_scanner.c" ++yy25: ++ YYDEBUG(25, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++yy26: ++ YYDEBUG(26, *YYCURSOR); ++ if (yybm[0+yych] & 16) { ++ goto yy25; ++ } ++ 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); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(29, *YYCURSOR); ++ if (yybm[0+yych] & 32) { ++ goto yy28; ++ } ++ YYDEBUG(30, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 383 "Zend/zend_ini_scanner.l" ++ { /* Start of option with offset */ ++ /* Eat leading whitespace */ ++ EAT_LEADING_WHITESPACE(); ++ ++ /* Eat trailing whitespace and [ */ ++ EAT_TRAILING_WHITESPACE_EX('['); ++ ++ /* Enter offset lookup state */ ++ yy_push_state(ST_OFFSET TSRMLS_CC); ++ ++ RETURN_TOKEN(TC_OFFSET, yytext, yyleng); ++} ++#line 689 "Zend/zend_ini_scanner.c" ++yy31: ++ YYDEBUG(31, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(32, *YYCURSOR); ++ if (yybm[0+yych] & 64) { ++ goto yy31; ++ } ++ if (yych <= '\'') { ++ if (yych <= ' ') { ++ if (yych <= '\n') { ++ if (yych <= 0x08) goto yy25; ++ if (yych <= '\t') goto yy34; ++ } else { ++ if (yych != '\r') goto yy25; ++ } ++ } else { ++ if (yych <= '$') { ++ if (yych == '#') goto yy25; ++ } else { ++ if (yych != '&') goto yy25; ++ } ++ } ++ } else { ++ if (yych <= 'Z') { ++ if (yych <= ';') { ++ if (yych <= ')') goto yy33; ++ if (yych <= ':') goto yy25; ++ } else { ++ if (yych != '=') goto yy25; ++ } ++ } else { ++ if (yych <= '^') { ++ if (yych <= '[') goto yy28; ++ if (yych <= ']') goto yy25; ++ } else { ++ if (yych <= 'z') goto yy25; ++ if (yych >= 0x7F) goto yy25; ++ } ++ } ++ } ++yy33: ++ YYDEBUG(33, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 421 "Zend/zend_ini_scanner.l" ++ { /* TRUE value (when used outside option value/offset this causes parse error!) */ ++ RETURN_TOKEN(BOOL_TRUE, "1", 1); ++} ++#line 739 "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); ++ yych = *++YYCURSOR; ++ if (yych == 'U') goto yy37; ++ if (yych != 'u') goto yy26; ++yy37: ++ YYDEBUG(37, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == 'E') goto yy31; ++ if (yych == 'e') goto yy31; ++ goto yy26; ++yy38: ++ YYDEBUG(38, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == 'F') goto yy39; ++ if (yych != 'f') goto yy26; ++yy39: ++ YYDEBUG(39, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(40, *YYCURSOR); ++ if (yych <= '&') { ++ if (yych <= 0x1F) { ++ if (yych <= '\n') { ++ if (yych <= 0x08) goto yy25; ++ if (yych <= '\t') goto yy42; ++ } else { ++ if (yych != '\r') goto yy25; ++ } ++ } else { ++ if (yych <= '#') { ++ if (yych <= ' ') goto yy39; ++ if (yych >= '#') goto yy25; ++ } else { ++ if (yych == '%') goto yy25; ++ } ++ } ++ } else { ++ if (yych <= '=') { ++ if (yych <= ':') { ++ if (yych <= '\'') goto yy25; ++ if (yych >= '*') goto yy25; ++ } else { ++ if (yych == '<') goto yy25; ++ } ++ } else { ++ if (yych <= ']') { ++ if (yych == '[') goto yy28; ++ goto yy25; ++ } else { ++ if (yych <= '^') goto yy41; ++ if (yych <= 'z') goto yy25; ++ if (yych >= 0x7F) goto yy25; ++ } ++ } ++ } ++yy41: ++ YYDEBUG(41, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 425 "Zend/zend_ini_scanner.l" ++ { /* FALSE value (when used outside option value/offset this causes parse error!)*/ ++ RETURN_TOKEN(BOOL_FALSE, "", 0); ++} ++#line 813 "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); ++ yych = *++YYCURSOR; ++ if (yych <= '\'') { ++ if (yych <= 0x1F) { ++ if (yych <= '\n') { ++ if (yych <= 0x08) goto yy26; ++ if (yych <= '\t') goto yy42; ++ goto yy41; ++ } else { ++ if (yych == '\r') goto yy41; ++ goto yy26; ++ } ++ } else { ++ if (yych <= '#') { ++ if (yych <= ' ') goto yy39; ++ if (yych <= '"') goto yy41; ++ goto yy26; ++ } else { ++ if (yych == '%') goto yy26; ++ if (yych <= '&') goto yy41; ++ goto yy26; ++ } ++ } ++ } else { ++ if (yych <= 'N') { ++ if (yych <= ';') { ++ if (yych <= ')') goto yy41; ++ if (yych <= ':') goto yy26; ++ goto yy41; ++ } else { ++ if (yych == '=') goto yy41; ++ if (yych <= 'M') goto yy26; ++ goto yy47; ++ } ++ } else { ++ if (yych <= 'm') { ++ if (yych == '^') goto yy41; ++ goto yy26; ++ } else { ++ if (yych <= 'n') goto yy47; ++ 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 yy39; ++ if (yych == 'l') goto yy39; ++ goto yy26; ++yy47: ++ YYDEBUG(47, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == 'E') goto yy39; ++ if (yych == 'e') goto yy39; ++ goto yy26; ++yy48: ++ YYDEBUG(48, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == 'L') goto yy49; ++ if (yych != 'l') goto yy26; ++yy49: ++ YYDEBUG(49, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == 'S') goto yy50; ++ if (yych != 's') goto yy26; ++yy50: ++ YYDEBUG(50, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == 'E') goto yy39; ++ if (yych == 'e') goto yy39; ++ goto yy26; ++yy51: ++ YYDEBUG(51, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++yy52: ++ YYDEBUG(52, *YYCURSOR); ++ if (yych == '\t') goto yy51; ++ if (yych == ' ') goto yy51; ++ goto yy17; ++yy53: ++ YYDEBUG(53, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(2); ++ yych = *YYCURSOR; ++yy54: ++ YYDEBUG(54, *YYCURSOR); ++ if (yybm[0+yych] & 128) { ++ goto yy53; ++ } ++ if (yych >= '\r') goto yy57; ++yy55: ++ YYDEBUG(55, *YYCURSOR); ++ ++YYCURSOR; ++yy56: ++ YYDEBUG(56, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 585 "Zend/zend_ini_scanner.l" ++ { /* Comment */ ++ BEGIN(INITIAL); ++ SCNG(lineno)++; ++ return END_OF_LINE; ++} ++#line 936 "Zend/zend_ini_scanner.c" ++yy57: ++ YYDEBUG(57, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == '\n') goto yy55; ++ goto yy56; ++yy58: ++ YYDEBUG(58, *YYCURSOR); ++ yyaccept = 1; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(2); ++ yych = *YYCURSOR; ++yy59: ++ YYDEBUG(59, *YYCURSOR); ++ if (yych <= '\'') { ++ if (yych <= ' ') { ++ if (yych <= '\n') { ++ if (yych <= 0x08) goto yy58; ++ if (yych >= '\n') goto yy64; ++ } else { ++ if (yych == '\r') goto yy66; ++ goto yy58; ++ } ++ } else { ++ if (yych <= '$') { ++ if (yych == '#') goto yy58; ++ } else { ++ if (yych != '&') goto yy58; ++ } ++ } ++ } else { ++ if (yych <= 'Z') { ++ if (yych <= ';') { ++ if (yych <= ')') goto yy60; ++ if (yych <= ':') goto yy58; ++ } else { ++ if (yych != '=') goto yy58; ++ } ++ } else { ++ if (yych <= '^') { ++ if (yych <= '[') goto yy62; ++ if (yych <= ']') goto yy58; ++ } else { ++ if (yych <= 'z') goto yy58; ++ if (yych >= 0x7F) goto yy58; ++ } ++ } ++ } ++yy60: ++ YYDEBUG(60, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(2); ++ yych = *YYCURSOR; ++ YYDEBUG(61, *YYCURSOR); ++ if (yych == '\n') goto yy64; ++ if (yych == '\r') goto yy66; ++ goto yy60; ++yy62: ++ YYDEBUG(62, *YYCURSOR); ++ yyaccept = 3; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(2); ++ yych = *YYCURSOR; ++ YYDEBUG(63, *YYCURSOR); ++ if (yych <= '\f') { ++ if (yych <= 0x08) goto yy60; ++ if (yych <= '\t') goto yy62; ++ if (yych >= '\v') goto yy60; ++ } else { ++ if (yych <= '\r') goto yy66; ++ if (yych == ' ') goto yy62; ++ goto yy60; ++ } ++yy64: ++ YYDEBUG(64, *YYCURSOR); ++ ++YYCURSOR; ++yy65: ++ YYDEBUG(65, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 591 "Zend/zend_ini_scanner.l" ++ { /* #Comment */ ++ zend_error(E_DEPRECATED, "Comments starting with '#' are deprecated in %s on line %d", zend_ini_scanner_get_filename(TSRMLS_C), SCNG(lineno)); ++ BEGIN(INITIAL); ++ SCNG(lineno)++; ++ return END_OF_LINE; ++} ++#line 1022 "Zend/zend_ini_scanner.c" ++yy66: ++ YYDEBUG(66, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == '\n') goto yy64; ++ goto yy65; ++yy67: ++ YYDEBUG(67, *YYCURSOR); ++ yyaccept = 0; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(2); ++ yych = *YYCURSOR; ++yy68: ++ YYDEBUG(68, *YYCURSOR); ++ if (yych <= ' ') { ++ if (yych <= '\n') { ++ if (yych <= 0x08) goto yy5; ++ if (yych <= '\t') goto yy67; ++ goto yy71; ++ } else { ++ if (yych == '\r') goto yy72; ++ if (yych <= 0x1F) goto yy5; ++ goto yy67; ++ } ++ } else { ++ if (yych <= ':') { ++ if (yych == '#') goto yy60; ++ goto yy5; ++ } else { ++ if (yych <= ';') goto yy53; ++ if (yych == '=') goto yy51; ++ goto yy5; ++ } ++ } ++yy69: ++ YYDEBUG(69, *YYCURSOR); ++ yyaccept = 1; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(2); ++ yych = *YYCURSOR; ++ YYDEBUG(70, *YYCURSOR); ++ if (yych <= '&') { ++ if (yych <= 0x1F) { ++ if (yych <= '\n') { ++ if (yych <= 0x08) goto yy25; ++ if (yych <= '\t') goto yy67; ++ } else { ++ if (yych == '\r') goto yy72; ++ goto yy25; ++ } ++ } else { ++ if (yych <= '#') { ++ if (yych <= ' ') goto yy69; ++ if (yych <= '"') goto yy3; ++ goto yy58; ++ } else { ++ if (yych == '%') goto yy25; ++ goto yy3; ++ } ++ } ++ } else { ++ if (yych <= '=') { ++ if (yych <= ':') { ++ if (yych <= '\'') goto yy25; ++ if (yych <= ')') goto yy3; ++ goto yy25; ++ } else { ++ if (yych <= ';') goto yy53; ++ if (yych <= '<') goto yy25; ++ goto yy51; ++ } ++ } else { ++ if (yych <= ']') { ++ if (yych == '[') goto yy28; ++ goto yy25; ++ } else { ++ if (yych <= '^') goto yy3; ++ if (yych <= 'z') goto yy25; ++ if (yych <= '~') goto yy3; ++ goto yy25; ++ } ++ } ++ } ++yy71: ++ YYDEBUG(71, *YYCURSOR); ++ yych = *++YYCURSOR; ++ goto yy7; ++yy72: ++ YYDEBUG(72, *YYCURSOR); ++ ++YYCURSOR; ++ if ((yych = *YYCURSOR) == '\n') goto yy71; ++ goto yy7; ++ } ++/* *********************************** */ ++yyc_ST_DOUBLE_QUOTES: ++ { ++ static const unsigned char yybm[] = { ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 128, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 128, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 0, 0, 0, 0, 0, ++ }; ++ YYDEBUG(73, *YYCURSOR); ++ YYFILL(2); ++ yych = *YYCURSOR; ++ if (yych == '"') goto yy77; ++ if (yych == '$') goto yy79; ++ YYDEBUG(75, *YYCURSOR); ++ ++YYCURSOR; ++yy76: ++ YYDEBUG(76, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 535 "Zend/zend_ini_scanner.l" ++ { /* Escape double quoted string contents */ ++ if (YYCURSOR > YYLIMIT) { ++ return 0; ++ } ++ ++ while (YYCURSOR < YYLIMIT) { ++ switch (*YYCURSOR++) { ++ case '"': ++ if (YYCURSOR < YYLIMIT && YYCURSOR[-2] == '\\' && *YYCURSOR != '\r' && *YYCURSOR != '\n') { ++ continue; ++ } ++ break; ++ case '$': ++ if (*YYCURSOR == '{') { ++ break; ++ } ++ continue; ++ case '\\': ++ if (YYCURSOR < YYLIMIT && *YYCURSOR != '"') { ++ YYCURSOR++; ++ } ++ /* fall through */ ++ default: ++ continue; ++ } ++ ++ YYCURSOR--; ++ break; ++ } ++ ++ yyleng = YYCURSOR - SCNG(yy_text); ++ ++ zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC); ++ return TC_QUOTED_STRING; ++} ++#line 1198 "Zend/zend_ini_scanner.c" ++yy77: ++ YYDEBUG(77, *YYCURSOR); ++ ++YYCURSOR; ++ yych = *YYCURSOR; ++ goto yy83; ++yy78: ++ YYDEBUG(78, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 530 "Zend/zend_ini_scanner.l" ++ { /* Double quoted '"' string ends */ ++ yy_pop_state(TSRMLS_C); ++ return '"'; ++} ++#line 1212 "Zend/zend_ini_scanner.c" ++yy79: ++ YYDEBUG(79, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych != '{') goto yy76; ++ YYDEBUG(80, *YYCURSOR); ++ ++YYCURSOR; ++ YYDEBUG(81, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 401 "Zend/zend_ini_scanner.l" ++ { /* Variable start */ ++ yy_push_state(ST_VARNAME TSRMLS_CC); ++ return TC_DOLLAR_CURLY; ++} ++#line 1226 "Zend/zend_ini_scanner.c" ++yy82: ++ YYDEBUG(82, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++yy83: ++ YYDEBUG(83, *YYCURSOR); ++ if (yybm[0+yych] & 128) { ++ goto yy82; ++ } ++ goto yy78; ++ } ++/* *********************************** */ ++yyc_ST_OFFSET: ++ { ++ static const unsigned char yybm[] = { ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 194, 64, 66, 66, 64, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 194, 66, 64, 66, 68, 66, 66, 0, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 114, 114, 114, 114, 114, 114, 114, 114, ++ 114, 114, 66, 64, 66, 66, 66, 66, ++ 66, 82, 82, 82, 82, 82, 82, 82, ++ 82, 82, 82, 82, 82, 82, 82, 82, ++ 82, 82, 82, 82, 82, 82, 82, 82, ++ 82, 82, 82, 66, 72, 64, 66, 82, ++ 66, 82, 82, 82, 82, 82, 82, 82, ++ 82, 82, 82, 82, 82, 82, 82, 82, ++ 82, 82, 82, 82, 82, 82, 82, 82, ++ 82, 82, 82, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ 66, 66, 66, 66, 66, 66, 66, 66, ++ }; ++ YYDEBUG(84, *YYCURSOR); ++ YYFILL(2); ++ yych = *YYCURSOR; ++ if (yych <= '-') { ++ if (yych <= ' ') { ++ if (yych <= '\n') { ++ if (yych <= 0x08) goto yy86; ++ if (yych <= '\t') goto yy88; ++ goto yy89; ++ } else { ++ if (yych == '\r') goto yy89; ++ if (yych >= ' ') goto yy88; ++ } ++ } else { ++ if (yych <= '$') { ++ if (yych == '"') goto yy91; ++ if (yych >= '$') goto yy93; ++ } else { ++ if (yych == '\'') goto yy94; ++ if (yych >= '-') goto yy95; ++ } ++ } ++ } else { ++ if (yych <= 'Z') { ++ if (yych <= '9') { ++ if (yych <= '.') goto yy96; ++ if (yych >= '0') goto yy97; ++ } else { ++ if (yych == ';') goto yy89; ++ if (yych >= 'A') goto yy99; ++ } ++ } else { ++ if (yych <= '^') { ++ if (yych <= '[') goto yy86; ++ if (yych <= '\\') goto yy101; ++ if (yych <= ']') goto yy102; ++ } else { ++ if (yych == '`') goto yy86; ++ if (yych <= 'z') goto yy99; ++ } ++ } ++ } ++yy86: ++ YYDEBUG(86, *YYCURSOR); ++ yyaccept = 0; ++ yych = *(YYMARKER = ++YYCURSOR); ++ goto yy105; ++yy87: ++ YYDEBUG(87, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 521 "Zend/zend_ini_scanner.l" ++ { /* Get rest as section/offset value */ ++ RETURN_TOKEN(TC_STRING, yytext, yyleng); ++} ++#line 1330 "Zend/zend_ini_scanner.c" ++yy88: ++ YYDEBUG(88, *YYCURSOR); ++ yyaccept = 0; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yybm[0+yych] & 128) { ++ goto yy131; ++ } ++ if (yych == '"') goto yy133; ++ if (yych == ']') goto yy134; ++ goto yy105; ++yy89: ++ YYDEBUG(89, *YYCURSOR); ++ ++YYCURSOR; ++yy90: ++ YYDEBUG(90, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 603 "Zend/zend_ini_scanner.l" ++ { ++ return 0; ++} ++#line 1351 "Zend/zend_ini_scanner.c" ++yy91: ++ YYDEBUG(91, *YYCURSOR); ++ ++YYCURSOR; ++yy92: ++ YYDEBUG(92, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 525 "Zend/zend_ini_scanner.l" ++ { /* Double quoted '"' string start */ ++ yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); ++ return '"'; ++} ++#line 1363 "Zend/zend_ini_scanner.c" ++yy93: ++ YYDEBUG(93, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych <= '\\') { ++ if (yych <= 0x00) goto yy90; ++ if (yych <= '[') goto yy104; ++ goto yy109; ++ } else { ++ if (yych == '{') goto yy129; ++ goto yy104; ++ } ++yy94: ++ YYDEBUG(94, *YYCURSOR); ++ yyaccept = 1; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yybm[0+yych] & 64) { ++ goto yy125; ++ } ++ goto yy90; ++yy95: ++ YYDEBUG(95, *YYCURSOR); ++ yyaccept = 0; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '/') goto yy105; ++ if (yych <= '9') goto yy123; ++ goto yy105; ++yy96: ++ YYDEBUG(96, *YYCURSOR); ++ yyaccept = 0; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '/') goto yy105; ++ if (yych <= '9') goto yy121; ++ goto yy105; ++yy97: ++ YYDEBUG(97, *YYCURSOR); ++ yyaccept = 2; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '\'') { ++ if (yych <= '\r') { ++ if (yych == '\n') goto yy98; ++ if (yych <= '\f') goto yy105; ++ } else { ++ if (yych == '"') goto yy98; ++ if (yych <= '&') goto yy105; ++ } ++ } else { ++ if (yych <= '9') { ++ if (yych == '.') goto yy117; ++ if (yych <= '/') goto yy105; ++ goto yy119; ++ } else { ++ if (yych <= ';') { ++ if (yych <= ':') goto yy105; ++ } else { ++ if (yych != ']') goto yy105; ++ } ++ } ++ } ++yy98: ++ YYDEBUG(98, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 499 "Zend/zend_ini_scanner.l" ++ { /* Get number option value as string */ ++ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); ++} ++#line 1429 "Zend/zend_ini_scanner.c" ++yy99: ++ YYDEBUG(99, *YYCURSOR); ++ yyaccept = 3; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yybm[0+yych] & 16) { ++ goto yy115; ++ } ++ if (yych <= '"') { ++ if (yych <= '\f') { ++ if (yych != '\n') goto yy105; ++ } else { ++ if (yych <= '\r') goto yy100; ++ if (yych <= '!') goto yy105; ++ } ++ } else { ++ if (yych <= ':') { ++ if (yych != '\'') goto yy105; ++ } else { ++ if (yych <= ';') goto yy100; ++ if (yych != ']') goto yy105; ++ } ++ } ++yy100: ++ YYDEBUG(100, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 495 "Zend/zend_ini_scanner.l" ++ { /* Get constant option value */ ++ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); ++} ++#line 1459 "Zend/zend_ini_scanner.c" ++yy101: ++ YYDEBUG(101, *YYCURSOR); ++ yych = *++YYCURSOR; ++ goto yy104; ++yy102: ++ YYDEBUG(102, *YYCURSOR); ++ ++YYCURSOR; ++yy103: ++ YYDEBUG(103, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 396 "Zend/zend_ini_scanner.l" ++ { /* End of section or an option offset */ ++ BEGIN(INITIAL); ++ return ']'; ++} ++#line 1475 "Zend/zend_ini_scanner.c" ++yy104: ++ YYDEBUG(104, *YYCURSOR); ++ yyaccept = 0; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++yy105: ++ YYDEBUG(105, *YYCURSOR); ++ if (yybm[0+yych] & 2) { ++ goto yy104; ++ } ++ if (yych == '$') goto yy107; ++ if (yych != '\\') goto yy87; ++yy106: ++ YYDEBUG(106, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ goto yy104; ++yy107: ++ YYDEBUG(107, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ if (yych <= '\\') { ++ if (yych <= 0x00) goto yy108; ++ if (yych <= '[') goto yy104; ++ goto yy109; ++ } else { ++ if (yych != '{') goto yy104; ++ } ++yy108: ++ YYDEBUG(108, *YYCURSOR); ++ YYCURSOR = YYMARKER; ++ if (yyaccept <= 1) { ++ if (yyaccept <= 0) { ++ goto yy87; ++ } else { ++ goto yy90; ++ } ++ } else { ++ if (yyaccept <= 2) { ++ goto yy98; ++ } else { ++ goto yy100; ++ } ++ } ++yy109: ++ YYDEBUG(109, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ if (yybm[0+yych] & 4) { ++ goto yy110; ++ } ++ if (yych == '\\') goto yy112; ++ goto yy104; ++yy110: ++ YYDEBUG(110, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(111, *YYCURSOR); ++ if (yybm[0+yych] & 4) { ++ goto yy110; ++ } ++ if (yych == '\\') goto yy114; ++ goto yy104; ++yy112: ++ YYDEBUG(112, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(113, *YYCURSOR); ++ if (yybm[0+yych] & 4) { ++ goto yy110; ++ } ++ if (yych == '\\') goto yy112; ++ goto yy104; ++yy114: ++ YYDEBUG(114, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ if (yybm[0+yych] & 4) { ++ goto yy110; ++ } ++ if (yych == '\\') goto yy112; ++ goto yy104; ++yy115: ++ YYDEBUG(115, *YYCURSOR); ++ yyaccept = 3; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(116, *YYCURSOR); ++ if (yybm[0+yych] & 16) { ++ goto yy115; ++ } ++ if (yych <= '$') { ++ if (yych <= '\r') { ++ if (yych == '\n') goto yy100; ++ if (yych <= '\f') goto yy104; ++ goto yy100; ++ } else { ++ if (yych == '"') goto yy100; ++ if (yych <= '#') goto yy104; ++ goto yy107; ++ } ++ } else { ++ if (yych <= ';') { ++ if (yych == '\'') goto yy100; ++ if (yych <= ':') goto yy104; ++ goto yy100; ++ } else { ++ if (yych <= '[') goto yy104; ++ if (yych <= '\\') goto yy106; ++ if (yych <= ']') goto yy100; ++ goto yy104; ++ } ++ } ++yy117: ++ YYDEBUG(117, *YYCURSOR); ++ yyaccept = 2; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(118, *YYCURSOR); ++ if (yybm[0+yych] & 32) { ++ goto yy117; ++ } ++ if (yych <= '$') { ++ if (yych <= '\r') { ++ if (yych == '\n') goto yy98; ++ if (yych <= '\f') goto yy104; ++ goto yy98; ++ } else { ++ if (yych == '"') goto yy98; ++ if (yych <= '#') goto yy104; ++ goto yy107; ++ } ++ } else { ++ if (yych <= ';') { ++ if (yych == '\'') goto yy98; ++ if (yych <= ':') goto yy104; ++ goto yy98; ++ } else { ++ if (yych <= '[') goto yy104; ++ if (yych <= '\\') goto yy106; ++ if (yych <= ']') goto yy98; ++ goto yy104; ++ } ++ } ++yy119: ++ YYDEBUG(119, *YYCURSOR); ++ yyaccept = 2; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(120, *YYCURSOR); ++ if (yych <= '\'') { ++ if (yych <= '!') { ++ if (yych <= '\n') { ++ if (yych <= '\t') goto yy104; ++ goto yy98; ++ } else { ++ if (yych == '\r') goto yy98; ++ goto yy104; ++ } ++ } else { ++ if (yych <= '#') { ++ if (yych <= '"') goto yy98; ++ goto yy104; ++ } else { ++ if (yych <= '$') goto yy107; ++ if (yych <= '&') goto yy104; ++ goto yy98; ++ } ++ } ++ } else { ++ if (yych <= ':') { ++ if (yych <= '.') { ++ if (yych <= '-') goto yy104; ++ goto yy117; ++ } else { ++ if (yych <= '/') goto yy104; ++ if (yych <= '9') goto yy119; ++ goto yy104; ++ } ++ } else { ++ if (yych <= '[') { ++ if (yych <= ';') goto yy98; ++ goto yy104; ++ } else { ++ if (yych <= '\\') goto yy106; ++ if (yych <= ']') goto yy98; ++ goto yy104; ++ } ++ } ++ } ++yy121: ++ YYDEBUG(121, *YYCURSOR); ++ yyaccept = 2; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(122, *YYCURSOR); ++ if (yych <= '&') { ++ if (yych <= '\r') { ++ if (yych == '\n') goto yy98; ++ if (yych <= '\f') goto yy104; ++ goto yy98; ++ } else { ++ if (yych <= '"') { ++ if (yych <= '!') goto yy104; ++ goto yy98; ++ } else { ++ if (yych == '$') goto yy107; ++ goto yy104; ++ } ++ } ++ } else { ++ if (yych <= ':') { ++ if (yych <= '\'') goto yy98; ++ if (yych <= '/') goto yy104; ++ if (yych <= '9') goto yy121; ++ goto yy104; ++ } else { ++ if (yych <= '[') { ++ if (yych <= ';') goto yy98; ++ goto yy104; ++ } else { ++ if (yych <= '\\') goto yy106; ++ if (yych <= ']') goto yy98; ++ goto yy104; ++ } ++ } ++ } ++yy123: ++ YYDEBUG(123, *YYCURSOR); ++ yyaccept = 2; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(124, *YYCURSOR); ++ if (yych <= '&') { ++ if (yych <= '\r') { ++ if (yych == '\n') goto yy98; ++ if (yych <= '\f') goto yy104; ++ goto yy98; ++ } else { ++ if (yych <= '"') { ++ if (yych <= '!') goto yy104; ++ goto yy98; ++ } else { ++ if (yych == '$') goto yy107; ++ goto yy104; ++ } ++ } ++ } else { ++ if (yych <= ':') { ++ if (yych <= '\'') goto yy98; ++ if (yych <= '/') goto yy104; ++ if (yych <= '9') goto yy123; ++ goto yy104; ++ } else { ++ if (yych <= '[') { ++ if (yych <= ';') goto yy98; ++ goto yy104; ++ } else { ++ if (yych <= '\\') goto yy106; ++ if (yych <= ']') goto yy98; ++ goto yy104; ++ } ++ } ++ } ++yy125: ++ YYDEBUG(125, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(126, *YYCURSOR); ++ if (yybm[0+yych] & 64) { ++ goto yy125; ++ } ++ YYDEBUG(127, *YYCURSOR); ++ ++YYCURSOR; ++ YYDEBUG(128, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 368 "Zend/zend_ini_scanner.l" ++ { /* Raw string */ ++ /* Eat leading and trailing single quotes */ ++ if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') { ++ SCNG(yy_text)++; ++ yyleng = yyleng - 2; ++ } ++ RETURN_TOKEN(TC_RAW, yytext, yyleng); ++} ++#line 1774 "Zend/zend_ini_scanner.c" ++yy129: ++ YYDEBUG(129, *YYCURSOR); ++ ++YYCURSOR; ++ YYDEBUG(130, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 401 "Zend/zend_ini_scanner.l" ++ { /* Variable start */ ++ yy_push_state(ST_VARNAME TSRMLS_CC); ++ return TC_DOLLAR_CURLY; ++} ++#line 1785 "Zend/zend_ini_scanner.c" ++yy131: ++ YYDEBUG(131, *YYCURSOR); ++ yyaccept = 0; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(132, *YYCURSOR); ++ if (yybm[0+yych] & 128) { ++ goto yy131; ++ } ++ if (yych <= '$') { ++ if (yych <= '\r') { ++ if (yych == '\n') goto yy87; ++ if (yych <= '\f') goto yy104; ++ goto yy87; ++ } else { ++ if (yych == '"') goto yy133; ++ if (yych <= '#') goto yy104; ++ goto yy107; ++ } ++ } else { ++ if (yych <= ';') { ++ if (yych == '\'') goto yy87; ++ if (yych <= ':') goto yy104; ++ goto yy87; ++ } else { ++ if (yych <= '[') goto yy104; ++ if (yych <= '\\') goto yy106; ++ if (yych <= ']') goto yy134; ++ goto yy104; ++ } ++ } ++yy133: ++ YYDEBUG(133, *YYCURSOR); ++ yych = *++YYCURSOR; ++ goto yy92; ++yy134: ++ YYDEBUG(134, *YYCURSOR); ++ ++YYCURSOR; ++ yych = *YYCURSOR; ++ goto yy103; ++ } ++/* *********************************** */ ++yyc_ST_RAW: ++ { ++ static const unsigned char yybm[] = { ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 192, 0, 64, 64, 0, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 192, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ 64, 64, 64, 64, 64, 64, 64, 64, ++ }; ++ YYDEBUG(135, *YYCURSOR); ++ YYFILL(3); ++ yych = *YYCURSOR; ++ if (yych <= '\f') { ++ if (yych <= 0x08) { ++ if (yych >= 0x01) goto yy139; ++ } else { ++ if (yych <= '\t') goto yy141; ++ if (yych <= '\n') goto yy142; ++ goto yy139; ++ } ++ } else { ++ if (yych <= ' ') { ++ if (yych <= '\r') goto yy144; ++ if (yych <= 0x1F) goto yy139; ++ goto yy141; ++ } else { ++ if (yych == ';') goto yy145; ++ goto yy139; ++ } ++ } ++ YYDEBUG(137, *YYCURSOR); ++ ++YYCURSOR; ++ YYDEBUG(138, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 598 "Zend/zend_ini_scanner.l" ++ { /* End of option value (if EOF is reached before EOL */ ++ BEGIN(INITIAL); ++ return END_OF_LINE; ++} ++#line 1895 "Zend/zend_ini_scanner.c" ++yy139: ++ YYDEBUG(139, *YYCURSOR); ++ ++YYCURSOR; ++yy140: ++ YYDEBUG(140, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 448 "Zend/zend_ini_scanner.l" ++ { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ ++ char *sc = NULL; ++ while (YYCURSOR < YYLIMIT) { ++ switch (*YYCURSOR) { ++ case '\n': ++ case '\r': ++ goto end_raw_value_chars; ++ break; ++ case ';': ++ if (sc == NULL) { ++ sc = YYCURSOR; ++ } ++ /* no break */ ++ default: ++ YYCURSOR++; ++ break; ++ } ++ } ++end_raw_value_chars: ++ yyleng = YYCURSOR - SCNG(yy_text); ++ ++ /* Eat trailing semicolons */ ++ while (yytext[yyleng - 1] == ';') { ++ yyleng--; ++ } ++ ++ /* Eat leading and trailing double quotes */ ++ if (yytext[0] == '"' && yytext[yyleng - 1] == '"') { ++ SCNG(yy_text)++; ++ yyleng = yyleng - 2; ++ } else if (sc) { ++ YYCURSOR = sc; ++ yyleng = YYCURSOR - SCNG(yy_text); ++ } ++ RETURN_TOKEN(TC_RAW, yytext, yyleng); ++} ++#line 1939 "Zend/zend_ini_scanner.c" ++yy141: ++ YYDEBUG(141, *YYCURSOR); ++ yyaccept = 0; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '\r') { ++ if (yych <= 0x08) goto yy140; ++ if (yych <= '\n') goto yy153; ++ if (yych <= '\f') goto yy140; ++ goto yy153; ++ } else { ++ if (yych <= ' ') { ++ if (yych <= 0x1F) goto yy140; ++ goto yy153; ++ } else { ++ if (yych == ';') goto yy153; ++ goto yy140; ++ } ++ } ++yy142: ++ YYDEBUG(142, *YYCURSOR); ++ ++YYCURSOR; ++yy143: ++ YYDEBUG(143, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 489 "Zend/zend_ini_scanner.l" ++ { /* End of option value */ ++ BEGIN(INITIAL); ++ SCNG(lineno)++; ++ return END_OF_LINE; ++} ++#line 1970 "Zend/zend_ini_scanner.c" ++yy144: ++ YYDEBUG(144, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == '\n') goto yy151; ++ goto yy143; ++yy145: ++ YYDEBUG(145, *YYCURSOR); ++ yyaccept = 1; ++ yych = *(YYMARKER = ++YYCURSOR); ++ goto yy147; ++yy146: ++ YYDEBUG(146, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(2); ++ yych = *YYCURSOR; ++yy147: ++ YYDEBUG(147, *YYCURSOR); ++ if (yybm[0+yych] & 64) { ++ goto yy146; ++ } ++ if (yych >= '\r') goto yy150; ++yy148: ++ YYDEBUG(148, *YYCURSOR); ++ ++YYCURSOR; ++yy149: ++ YYDEBUG(149, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 585 "Zend/zend_ini_scanner.l" ++ { /* Comment */ ++ BEGIN(INITIAL); ++ SCNG(lineno)++; ++ return END_OF_LINE; ++} ++#line 2004 "Zend/zend_ini_scanner.c" ++yy150: ++ YYDEBUG(150, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == '\n') goto yy148; ++ goto yy149; ++yy151: ++ YYDEBUG(151, *YYCURSOR); ++ yych = *++YYCURSOR; ++ goto yy143; ++yy152: ++ YYDEBUG(152, *YYCURSOR); ++ yyaccept = 2; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(2); ++ yych = *YYCURSOR; ++yy153: ++ YYDEBUG(153, *YYCURSOR); ++ if (yybm[0+yych] & 128) { ++ goto yy152; ++ } ++ if (yych <= '\f') { ++ if (yych == '\n') goto yy151; ++ } else { ++ if (yych <= '\r') goto yy155; ++ if (yych == ';') goto yy146; ++ } ++ YYDEBUG(154, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 575 "Zend/zend_ini_scanner.l" ++ { ++ /* eat whitespace */ ++ goto restart; ++} ++#line 2038 "Zend/zend_ini_scanner.c" ++yy155: ++ YYDEBUG(155, *YYCURSOR); ++ ++YYCURSOR; ++ if ((yych = *YYCURSOR) == '\n') goto yy151; ++ goto yy143; ++ } ++/* *********************************** */ ++yyc_ST_SECTION_RAW: ++ { ++ static const unsigned char yybm[] = { ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 192, 0, 128, 128, 0, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 192, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 0, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ }; ++ YYDEBUG(156, *YYCURSOR); ++ YYFILL(3); ++ yych = *YYCURSOR; ++ if (yych <= '\f') { ++ if (yych == '\n') goto yy160; ++ } else { ++ if (yych <= '\r') goto yy160; ++ if (yych == ']') goto yy162; ++ } ++ YYDEBUG(158, *YYCURSOR); ++ ++YYCURSOR; ++ yych = *YYCURSOR; ++ goto yy169; ++yy159: ++ YYDEBUG(159, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 485 "Zend/zend_ini_scanner.l" ++ { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ ++ RETURN_TOKEN(TC_RAW, yytext, yyleng); ++} ++#line 2102 "Zend/zend_ini_scanner.c" ++yy160: ++ YYDEBUG(160, *YYCURSOR); ++ ++YYCURSOR; ++ YYDEBUG(161, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 603 "Zend/zend_ini_scanner.l" ++ { ++ return 0; ++} ++#line 2112 "Zend/zend_ini_scanner.c" ++yy162: ++ YYDEBUG(162, *YYCURSOR); ++ ++YYCURSOR; ++ yych = *YYCURSOR; ++ goto yy165; ++yy163: ++ YYDEBUG(163, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 377 "Zend/zend_ini_scanner.l" ++ { /* End of section */ ++ BEGIN(INITIAL); ++ SCNG(lineno)++; ++ return ']'; ++} ++#line 2127 "Zend/zend_ini_scanner.c" ++yy164: ++ YYDEBUG(164, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(2); ++ yych = *YYCURSOR; ++yy165: ++ YYDEBUG(165, *YYCURSOR); ++ if (yybm[0+yych] & 64) { ++ goto yy164; ++ } ++ if (yych == '\n') goto yy166; ++ if (yych == '\r') goto yy167; ++ goto yy163; ++yy166: ++ YYDEBUG(166, *YYCURSOR); ++ yych = *++YYCURSOR; ++ goto yy163; ++yy167: ++ YYDEBUG(167, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == '\n') goto yy166; ++ goto yy163; ++yy168: ++ YYDEBUG(168, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++yy169: ++ YYDEBUG(169, *YYCURSOR); ++ if (yybm[0+yych] & 128) { ++ goto yy168; ++ } ++ goto yy159; ++ } ++/* *********************************** */ ++yyc_ST_SECTION_VALUE: ++ { ++ static const unsigned char yybm[] = { ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 134, 128, 132, 132, 128, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 134, 132, 128, 132, 136, 132, 132, 0, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 228, 228, 228, 228, 228, 228, 228, 228, ++ 228, 228, 132, 128, 132, 132, 132, 132, ++ 132, 164, 164, 164, 164, 164, 164, 164, ++ 164, 164, 164, 164, 164, 164, 164, 164, ++ 164, 164, 164, 164, 164, 164, 164, 164, ++ 164, 164, 164, 132, 144, 128, 132, 164, ++ 132, 164, 164, 164, 164, 164, 164, 164, ++ 164, 164, 164, 164, 164, 164, 164, 164, ++ 164, 164, 164, 164, 164, 164, 164, 164, ++ 164, 164, 164, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ 132, 132, 132, 132, 132, 132, 132, 132, ++ }; ++ YYDEBUG(170, *YYCURSOR); ++ YYFILL(3); ++ yych = *YYCURSOR; ++ if (yych <= '-') { ++ if (yych <= ' ') { ++ if (yych <= '\n') { ++ if (yych <= 0x08) goto yy172; ++ if (yych <= '\t') goto yy174; ++ goto yy175; ++ } else { ++ if (yych == '\r') goto yy175; ++ if (yych >= ' ') goto yy174; ++ } ++ } else { ++ if (yych <= '$') { ++ if (yych == '"') goto yy177; ++ if (yych >= '$') goto yy179; ++ } else { ++ if (yych == '\'') goto yy180; ++ if (yych >= '-') goto yy181; ++ } ++ } ++ } else { ++ if (yych <= 'Z') { ++ if (yych <= '9') { ++ if (yych <= '.') goto yy182; ++ if (yych >= '0') goto yy183; ++ } else { ++ if (yych == ';') goto yy175; ++ if (yych >= 'A') goto yy185; ++ } ++ } else { ++ if (yych <= '^') { ++ if (yych <= '[') goto yy172; ++ if (yych <= '\\') goto yy187; ++ if (yych <= ']') goto yy188; ++ } else { ++ if (yych == '`') goto yy172; ++ if (yych <= 'z') goto yy185; ++ } ++ } ++ } ++yy172: ++ YYDEBUG(172, *YYCURSOR); ++ yyaccept = 0; ++ yych = *(YYMARKER = ++YYCURSOR); ++ goto yy195; ++yy173: ++ YYDEBUG(173, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 521 "Zend/zend_ini_scanner.l" ++ { /* Get rest as section/offset value */ ++ RETURN_TOKEN(TC_STRING, yytext, yyleng); ++} ++#line 2253 "Zend/zend_ini_scanner.c" ++yy174: ++ YYDEBUG(174, *YYCURSOR); ++ yyaccept = 0; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= 0x1F) { ++ if (yych == '\t') goto yy221; ++ goto yy195; ++ } else { ++ if (yych <= ' ') goto yy221; ++ if (yych == '"') goto yy223; ++ goto yy195; ++ } ++yy175: ++ YYDEBUG(175, *YYCURSOR); ++ ++YYCURSOR; ++yy176: ++ YYDEBUG(176, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 603 "Zend/zend_ini_scanner.l" ++ { ++ return 0; ++} ++#line 2276 "Zend/zend_ini_scanner.c" ++yy177: ++ YYDEBUG(177, *YYCURSOR); ++ ++YYCURSOR; ++yy178: ++ YYDEBUG(178, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 525 "Zend/zend_ini_scanner.l" ++ { /* Double quoted '"' string start */ ++ yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); ++ return '"'; ++} ++#line 2288 "Zend/zend_ini_scanner.c" ++yy179: ++ YYDEBUG(179, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych <= '\\') { ++ if (yych <= 0x00) goto yy176; ++ if (yych <= '[') goto yy194; ++ goto yy199; ++ } else { ++ if (yych == '{') goto yy219; ++ goto yy194; ++ } ++yy180: ++ YYDEBUG(180, *YYCURSOR); ++ yyaccept = 1; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yybm[0+yych] & 128) { ++ goto yy215; ++ } ++ goto yy176; ++yy181: ++ YYDEBUG(181, *YYCURSOR); ++ yyaccept = 0; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '/') goto yy195; ++ if (yych <= '9') goto yy213; ++ goto yy195; ++yy182: ++ YYDEBUG(182, *YYCURSOR); ++ yyaccept = 0; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '/') goto yy195; ++ if (yych <= '9') goto yy211; ++ goto yy195; ++yy183: ++ YYDEBUG(183, *YYCURSOR); ++ yyaccept = 2; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '\'') { ++ if (yych <= '\r') { ++ if (yych == '\n') goto yy184; ++ if (yych <= '\f') goto yy195; ++ } else { ++ if (yych == '"') goto yy184; ++ if (yych <= '&') goto yy195; ++ } ++ } else { ++ if (yych <= '9') { ++ if (yych == '.') goto yy207; ++ if (yych <= '/') goto yy195; ++ goto yy209; ++ } else { ++ if (yych <= ';') { ++ if (yych <= ':') goto yy195; ++ } else { ++ if (yych != ']') goto yy195; ++ } ++ } ++ } ++yy184: ++ YYDEBUG(184, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 499 "Zend/zend_ini_scanner.l" ++ { /* Get number option value as string */ ++ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); ++} ++#line 2354 "Zend/zend_ini_scanner.c" ++yy185: ++ YYDEBUG(185, *YYCURSOR); ++ yyaccept = 3; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yybm[0+yych] & 32) { ++ goto yy205; ++ } ++ if (yych <= '"') { ++ if (yych <= '\f') { ++ if (yych != '\n') goto yy195; ++ } else { ++ if (yych <= '\r') goto yy186; ++ if (yych <= '!') goto yy195; ++ } ++ } else { ++ if (yych <= ':') { ++ if (yych != '\'') goto yy195; ++ } else { ++ if (yych <= ';') goto yy186; ++ if (yych != ']') goto yy195; ++ } ++ } ++yy186: ++ YYDEBUG(186, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 495 "Zend/zend_ini_scanner.l" ++ { /* Get constant option value */ ++ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); ++} ++#line 2384 "Zend/zend_ini_scanner.c" ++yy187: ++ YYDEBUG(187, *YYCURSOR); ++ yych = *++YYCURSOR; ++ goto yy194; ++yy188: ++ YYDEBUG(188, *YYCURSOR); ++ ++YYCURSOR; ++ yych = *YYCURSOR; ++ goto yy191; ++yy189: ++ YYDEBUG(189, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 377 "Zend/zend_ini_scanner.l" ++ { /* End of section */ ++ BEGIN(INITIAL); ++ SCNG(lineno)++; ++ return ']'; ++} ++#line 2403 "Zend/zend_ini_scanner.c" ++yy190: ++ YYDEBUG(190, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(2); ++ yych = *YYCURSOR; ++yy191: ++ YYDEBUG(191, *YYCURSOR); ++ if (yybm[0+yych] & 2) { ++ goto yy190; ++ } ++ if (yych == '\n') goto yy192; ++ if (yych == '\r') goto yy193; ++ goto yy189; ++yy192: ++ YYDEBUG(192, *YYCURSOR); ++ yych = *++YYCURSOR; ++ goto yy189; ++yy193: ++ YYDEBUG(193, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == '\n') goto yy192; ++ goto yy189; ++yy194: ++ YYDEBUG(194, *YYCURSOR); ++ yyaccept = 0; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++yy195: ++ YYDEBUG(195, *YYCURSOR); ++ if (yybm[0+yych] & 4) { ++ goto yy194; ++ } ++ if (yych == '$') goto yy197; ++ if (yych != '\\') goto yy173; ++yy196: ++ YYDEBUG(196, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ goto yy194; ++yy197: ++ YYDEBUG(197, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ if (yych <= '\\') { ++ if (yych <= 0x00) goto yy198; ++ if (yych <= '[') goto yy194; ++ goto yy199; ++ } else { ++ if (yych != '{') goto yy194; ++ } ++yy198: ++ YYDEBUG(198, *YYCURSOR); ++ YYCURSOR = YYMARKER; ++ if (yyaccept <= 1) { ++ if (yyaccept <= 0) { ++ goto yy173; ++ } else { ++ goto yy176; ++ } ++ } else { ++ if (yyaccept <= 2) { ++ goto yy184; ++ } else { ++ goto yy186; ++ } ++ } ++yy199: ++ YYDEBUG(199, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ if (yybm[0+yych] & 8) { ++ goto yy200; ++ } ++ if (yych == '\\') goto yy202; ++ goto yy194; ++yy200: ++ YYDEBUG(200, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(201, *YYCURSOR); ++ if (yybm[0+yych] & 8) { ++ goto yy200; ++ } ++ if (yych == '\\') goto yy204; ++ goto yy194; ++yy202: ++ YYDEBUG(202, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(203, *YYCURSOR); ++ if (yybm[0+yych] & 8) { ++ goto yy200; ++ } ++ if (yych == '\\') goto yy202; ++ goto yy194; ++yy204: ++ YYDEBUG(204, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ if (yybm[0+yych] & 8) { ++ goto yy200; ++ } ++ if (yych == '\\') goto yy202; ++ goto yy194; ++yy205: ++ YYDEBUG(205, *YYCURSOR); ++ yyaccept = 3; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(206, *YYCURSOR); ++ if (yybm[0+yych] & 32) { ++ goto yy205; ++ } ++ if (yych <= '$') { ++ if (yych <= '\r') { ++ if (yych == '\n') goto yy186; ++ if (yych <= '\f') goto yy194; ++ goto yy186; ++ } else { ++ if (yych == '"') goto yy186; ++ if (yych <= '#') goto yy194; ++ goto yy197; ++ } ++ } else { ++ if (yych <= ';') { ++ if (yych == '\'') goto yy186; ++ if (yych <= ':') goto yy194; ++ goto yy186; ++ } else { ++ if (yych <= '[') goto yy194; ++ if (yych <= '\\') goto yy196; ++ if (yych <= ']') goto yy186; ++ goto yy194; ++ } ++ } ++yy207: ++ YYDEBUG(207, *YYCURSOR); ++ yyaccept = 2; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(208, *YYCURSOR); ++ if (yybm[0+yych] & 64) { ++ goto yy207; ++ } ++ if (yych <= '$') { ++ if (yych <= '\r') { ++ if (yych == '\n') goto yy184; ++ if (yych <= '\f') goto yy194; ++ goto yy184; ++ } else { ++ if (yych == '"') goto yy184; ++ if (yych <= '#') goto yy194; ++ goto yy197; ++ } ++ } else { ++ if (yych <= ';') { ++ if (yych == '\'') goto yy184; ++ if (yych <= ':') goto yy194; ++ goto yy184; ++ } else { ++ if (yych <= '[') goto yy194; ++ if (yych <= '\\') goto yy196; ++ if (yych <= ']') goto yy184; ++ goto yy194; ++ } ++ } ++yy209: ++ YYDEBUG(209, *YYCURSOR); ++ yyaccept = 2; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(210, *YYCURSOR); ++ if (yych <= '\'') { ++ if (yych <= '!') { ++ if (yych <= '\n') { ++ if (yych <= '\t') goto yy194; ++ goto yy184; ++ } else { ++ if (yych == '\r') goto yy184; ++ goto yy194; ++ } ++ } else { ++ if (yych <= '#') { ++ if (yych <= '"') goto yy184; ++ goto yy194; ++ } else { ++ if (yych <= '$') goto yy197; ++ if (yych <= '&') goto yy194; ++ goto yy184; ++ } ++ } ++ } else { ++ if (yych <= ':') { ++ if (yych <= '.') { ++ if (yych <= '-') goto yy194; ++ goto yy207; ++ } else { ++ if (yych <= '/') goto yy194; ++ if (yych <= '9') goto yy209; ++ goto yy194; ++ } ++ } else { ++ if (yych <= '[') { ++ if (yych <= ';') goto yy184; ++ goto yy194; ++ } else { ++ if (yych <= '\\') goto yy196; ++ if (yych <= ']') goto yy184; ++ goto yy194; ++ } ++ } ++ } ++yy211: ++ YYDEBUG(211, *YYCURSOR); ++ yyaccept = 2; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(212, *YYCURSOR); ++ if (yych <= '&') { ++ if (yych <= '\r') { ++ if (yych == '\n') goto yy184; ++ if (yych <= '\f') goto yy194; ++ goto yy184; ++ } else { ++ if (yych <= '"') { ++ if (yych <= '!') goto yy194; ++ goto yy184; ++ } else { ++ if (yych == '$') goto yy197; ++ goto yy194; ++ } ++ } ++ } else { ++ if (yych <= ':') { ++ if (yych <= '\'') goto yy184; ++ if (yych <= '/') goto yy194; ++ if (yych <= '9') goto yy211; ++ goto yy194; ++ } else { ++ if (yych <= '[') { ++ if (yych <= ';') goto yy184; ++ goto yy194; ++ } else { ++ if (yych <= '\\') goto yy196; ++ if (yych <= ']') goto yy184; ++ goto yy194; ++ } ++ } ++ } ++yy213: ++ YYDEBUG(213, *YYCURSOR); ++ yyaccept = 2; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(214, *YYCURSOR); ++ if (yych <= '&') { ++ if (yych <= '\r') { ++ if (yych == '\n') goto yy184; ++ if (yych <= '\f') goto yy194; ++ goto yy184; ++ } else { ++ if (yych <= '"') { ++ if (yych <= '!') goto yy194; ++ goto yy184; ++ } else { ++ if (yych == '$') goto yy197; ++ goto yy194; ++ } ++ } ++ } else { ++ if (yych <= ':') { ++ if (yych <= '\'') goto yy184; ++ if (yych <= '/') goto yy194; ++ if (yych <= '9') goto yy213; ++ goto yy194; ++ } else { ++ if (yych <= '[') { ++ if (yych <= ';') goto yy184; ++ goto yy194; ++ } else { ++ if (yych <= '\\') goto yy196; ++ if (yych <= ']') goto yy184; ++ goto yy194; ++ } ++ } ++ } ++yy215: ++ YYDEBUG(215, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(216, *YYCURSOR); ++ if (yybm[0+yych] & 128) { ++ goto yy215; ++ } ++ YYDEBUG(217, *YYCURSOR); ++ ++YYCURSOR; ++ YYDEBUG(218, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 368 "Zend/zend_ini_scanner.l" ++ { /* Raw string */ ++ /* Eat leading and trailing single quotes */ ++ if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') { ++ SCNG(yy_text)++; ++ yyleng = yyleng - 2; ++ } ++ RETURN_TOKEN(TC_RAW, yytext, yyleng); ++} ++#line 2724 "Zend/zend_ini_scanner.c" ++yy219: ++ YYDEBUG(219, *YYCURSOR); ++ ++YYCURSOR; ++ YYDEBUG(220, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 401 "Zend/zend_ini_scanner.l" ++ { /* Variable start */ ++ yy_push_state(ST_VARNAME TSRMLS_CC); ++ return TC_DOLLAR_CURLY; ++} ++#line 2735 "Zend/zend_ini_scanner.c" ++yy221: ++ YYDEBUG(221, *YYCURSOR); ++ yyaccept = 0; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(222, *YYCURSOR); ++ if (yych <= '"') { ++ if (yych <= '\f') { ++ if (yych <= 0x08) goto yy194; ++ if (yych <= '\t') goto yy221; ++ if (yych <= '\n') goto yy173; ++ goto yy194; ++ } else { ++ if (yych <= 0x1F) { ++ if (yych <= '\r') goto yy173; ++ goto yy194; ++ } else { ++ if (yych <= ' ') goto yy221; ++ if (yych <= '!') goto yy194; ++ } ++ } ++ } else { ++ if (yych <= ':') { ++ if (yych <= '$') { ++ if (yych <= '#') goto yy194; ++ goto yy197; ++ } else { ++ if (yych == '\'') goto yy173; ++ goto yy194; ++ } ++ } else { ++ if (yych <= '[') { ++ if (yych <= ';') goto yy173; ++ goto yy194; ++ } else { ++ if (yych <= '\\') goto yy196; ++ if (yych <= ']') goto yy173; ++ goto yy194; ++ } ++ } ++ } ++yy223: ++ YYDEBUG(223, *YYCURSOR); ++ ++YYCURSOR; ++ yych = *YYCURSOR; ++ goto yy178; ++ } ++/* *********************************** */ ++yyc_ST_VALUE: ++ { ++ static const unsigned char yybm[] = { ++ 160, 162, 162, 162, 162, 162, 162, 162, ++ 162, 176, 128, 162, 162, 128, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 176, 160, 160, 162, 168, 162, 160, 32, ++ 160, 160, 162, 162, 162, 162, 162, 162, ++ 230, 230, 230, 230, 230, 230, 230, 230, ++ 230, 230, 162, 160, 162, 160, 162, 162, ++ 162, 166, 166, 166, 166, 166, 166, 166, ++ 166, 166, 166, 166, 166, 166, 166, 166, ++ 166, 166, 166, 166, 166, 166, 166, 166, ++ 166, 166, 166, 162, 162, 162, 160, 166, ++ 162, 166, 166, 166, 166, 166, 166, 166, ++ 166, 166, 166, 166, 166, 166, 166, 166, ++ 166, 166, 166, 166, 166, 166, 166, 166, ++ 166, 166, 166, 162, 160, 162, 160, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ 162, 162, 162, 162, 162, 162, 162, 162, ++ }; ++ YYDEBUG(224, *YYCURSOR); ++ YYFILL(6); ++ yych = *YYCURSOR; ++ YYDEBUG(-1, yych); ++ switch (yych) { ++ case 0x00: goto yy226; ++ case '\t': ++ case ' ': goto yy230; ++ case '\n': goto yy232; ++ case '\r': goto yy234; ++ case '!': ++ case '&': ++ case '(': ++ case ')': ++ case '^': ++ case '|': ++ case '~': goto yy235; ++ case '"': goto yy237; ++ case '$': goto yy239; ++ case '\'': goto yy240; ++ case '-': goto yy241; ++ case '.': goto yy242; ++ case '0': ++ case '1': ++ case '2': ++ case '3': ++ case '4': ++ case '5': ++ case '6': ++ case '7': ++ case '8': ++ case '9': goto yy243; ++ case ';': goto yy245; ++ case '=': goto yy246; ++ case 'A': ++ case 'B': ++ case 'C': ++ case 'D': ++ case 'E': ++ case 'G': ++ case 'H': ++ case 'I': ++ case 'J': ++ case 'K': ++ case 'L': ++ case 'M': ++ case 'P': ++ case 'Q': ++ case 'R': ++ case 'S': ++ case 'U': ++ case 'V': ++ case 'W': ++ case 'X': ++ case 'Z': ++ case '_': ++ case 'a': ++ case 'b': ++ case 'c': ++ case 'd': ++ case 'e': ++ case 'g': ++ case 'h': ++ case 'i': ++ case 'j': ++ case 'k': ++ case 'l': ++ case 'm': ++ case 'p': ++ case 'q': ++ case 'r': ++ case 's': ++ case 'u': ++ case 'v': ++ case 'w': ++ case 'x': ++ case 'z': goto yy248; ++ case 'F': ++ case 'f': goto yy250; ++ case 'N': ++ case 'n': goto yy251; ++ case 'O': ++ case 'o': goto yy252; ++ case 'T': ++ case 't': goto yy253; ++ case 'Y': ++ case 'y': goto yy254; ++ default: goto yy228; ++ } ++yy226: ++ YYDEBUG(226, *YYCURSOR); ++ ++YYCURSOR; ++yy227: ++ YYDEBUG(227, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 598 "Zend/zend_ini_scanner.l" ++ { /* End of option value (if EOF is reached before EOL */ ++ BEGIN(INITIAL); ++ return END_OF_LINE; ++} ++#line 2921 "Zend/zend_ini_scanner.c" ++yy228: ++ YYDEBUG(228, *YYCURSOR); ++ yyaccept = 0; ++ yych = *(YYMARKER = ++YYCURSOR); ++ goto yy256; ++yy229: ++ YYDEBUG(229, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 517 "Zend/zend_ini_scanner.l" ++ { /* Get everything else as option/offset value */ ++ RETURN_TOKEN(TC_STRING, yytext, yyleng); ++} ++#line 2934 "Zend/zend_ini_scanner.c" ++yy230: ++ YYDEBUG(230, *YYCURSOR); ++ yyaccept = 1; ++ yych = *(YYMARKER = ++YYCURSOR); ++ goto yy306; ++yy231: ++ YYDEBUG(231, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 571 "Zend/zend_ini_scanner.l" ++ { ++ RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng); ++} ++#line 2947 "Zend/zend_ini_scanner.c" ++yy232: ++ YYDEBUG(232, *YYCURSOR); ++ ++YYCURSOR; ++yy233: ++ YYDEBUG(233, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 489 "Zend/zend_ini_scanner.l" ++ { /* End of option value */ ++ BEGIN(INITIAL); ++ SCNG(lineno)++; ++ return END_OF_LINE; ++} ++#line 2960 "Zend/zend_ini_scanner.c" ++yy234: ++ YYDEBUG(234, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == '\n') goto yy304; ++ goto yy233; ++yy235: ++ YYDEBUG(235, *YYCURSOR); ++ ++YYCURSOR; ++ yych = *YYCURSOR; ++ goto yy303; ++yy236: ++ YYDEBUG(236, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 507 "Zend/zend_ini_scanner.l" ++ { /* Boolean operators */ ++ return yytext[0]; ++} ++#line 2978 "Zend/zend_ini_scanner.c" ++yy237: ++ YYDEBUG(237, *YYCURSOR); ++ ++YYCURSOR; ++yy238: ++ YYDEBUG(238, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 525 "Zend/zend_ini_scanner.l" ++ { /* Double quoted '"' string start */ ++ yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); ++ return '"'; ++} ++#line 2990 "Zend/zend_ini_scanner.c" ++yy239: ++ YYDEBUG(239, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych <= '\\') { ++ if (yych <= 0x00) goto yy227; ++ if (yych <= '[') goto yy255; ++ goto yy262; ++ } else { ++ if (yych == '{') goto yy300; ++ goto yy255; ++ } ++yy240: ++ YYDEBUG(240, *YYCURSOR); ++ yyaccept = 2; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yybm[0+yych] & 128) { ++ goto yy296; ++ } ++ goto yy227; ++yy241: ++ YYDEBUG(241, *YYCURSOR); ++ yyaccept = 0; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '/') goto yy256; ++ if (yych <= '9') goto yy294; ++ goto yy256; ++yy242: ++ YYDEBUG(242, *YYCURSOR); ++ yyaccept = 0; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '/') goto yy256; ++ if (yych <= '9') goto yy292; ++ goto yy256; ++yy243: ++ YYDEBUG(243, *YYCURSOR); ++ yyaccept = 3; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '/') { ++ if (yych <= 0x1F) { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy244; ++ if (yych <= 0x08) goto yy256; ++ } else { ++ if (yych != '\r') goto yy256; ++ } ++ } else { ++ if (yych <= ')') { ++ if (yych <= '"') goto yy244; ++ if (yych <= '%') goto yy256; ++ } else { ++ if (yych == '.') goto yy288; ++ goto yy256; ++ } ++ } ++ } else { ++ if (yych <= ']') { ++ if (yych <= ';') { ++ if (yych <= '9') goto yy290; ++ if (yych <= ':') goto yy256; ++ } else { ++ if (yych != '=') goto yy256; ++ } ++ } else { ++ if (yych <= '|') { ++ if (yych <= '^') goto yy244; ++ if (yych <= '{') goto yy256; ++ } else { ++ if (yych != '~') goto yy256; ++ } ++ } ++ } ++yy244: ++ YYDEBUG(244, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 499 "Zend/zend_ini_scanner.l" ++ { /* Get number option value as string */ ++ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); ++} ++#line 3069 "Zend/zend_ini_scanner.c" ++yy245: ++ YYDEBUG(245, *YYCURSOR); ++ yyaccept = 2; ++ yych = *(YYMARKER = ++YYCURSOR); ++ goto yy284; ++yy246: ++ YYDEBUG(246, *YYCURSOR); ++ ++YYCURSOR; ++ YYDEBUG(247, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 511 "Zend/zend_ini_scanner.l" ++ { /* Make = used in option value to trigger error */ ++ yyless(0); ++ BEGIN(INITIAL); ++ return END_OF_LINE; ++} ++#line 3086 "Zend/zend_ini_scanner.c" ++yy248: ++ YYDEBUG(248, *YYCURSOR); ++ yyaccept = 4; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yybm[0+yych] & 4) { ++ goto yy257; ++ } ++ if (yych <= ':') { ++ if (yych <= '\r') { ++ if (yych <= 0x08) { ++ if (yych >= 0x01) goto yy256; ++ } else { ++ if (yych <= '\n') goto yy249; ++ if (yych <= '\f') goto yy256; ++ } ++ } else { ++ if (yych <= '"') { ++ if (yych <= 0x1F) goto yy256; ++ } else { ++ if (yych <= '%') goto yy256; ++ if (yych >= '*') goto yy256; ++ } ++ } ++ } else { ++ if (yych <= '^') { ++ if (yych <= '<') { ++ if (yych >= '<') goto yy256; ++ } else { ++ if (yych <= '=') goto yy249; ++ if (yych <= ']') goto yy256; ++ } ++ } else { ++ if (yych <= '|') { ++ if (yych <= '{') goto yy256; ++ } else { ++ if (yych != '~') goto yy256; ++ } ++ } ++ } ++yy249: ++ YYDEBUG(249, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 495 "Zend/zend_ini_scanner.l" ++ { /* Get constant option value */ ++ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); ++} ++#line 3133 "Zend/zend_ini_scanner.c" ++yy250: ++ YYDEBUG(250, *YYCURSOR); ++ yyaccept = 4; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '<') { ++ if (yych <= '"') { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy249; ++ if (yych <= 0x08) goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '\r') goto yy249; ++ if (yych <= 0x1F) goto yy256; ++ goto yy249; ++ } ++ } else { ++ if (yych <= '/') { ++ if (yych <= '%') goto yy256; ++ if (yych <= ')') goto yy249; ++ goto yy256; ++ } else { ++ if (yych <= '9') goto yy257; ++ if (yych == ';') goto yy249; ++ goto yy256; ++ } ++ } ++ } else { ++ if (yych <= '_') { ++ if (yych <= 'A') { ++ if (yych <= '=') goto yy249; ++ if (yych <= '@') goto yy256; ++ goto yy280; ++ } else { ++ if (yych <= 'Z') goto yy257; ++ if (yych <= ']') goto yy256; ++ if (yych <= '^') goto yy249; ++ goto yy257; ++ } ++ } else { ++ if (yych <= '{') { ++ if (yych <= '`') goto yy256; ++ if (yych <= 'a') goto yy280; ++ if (yych <= 'z') goto yy257; ++ goto yy256; ++ } else { ++ if (yych == '}') goto yy256; ++ if (yych <= '~') goto yy249; ++ goto yy256; ++ } ++ } ++ } ++yy251: ++ YYDEBUG(251, *YYCURSOR); ++ yyaccept = 4; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= 'N') { ++ if (yych <= '%') { ++ if (yych <= '\f') { ++ if (yych <= 0x00) goto yy249; ++ if (yych <= 0x08) goto yy256; ++ if (yych <= '\n') goto yy249; ++ goto yy256; ++ } else { ++ if (yych <= '\r') goto yy249; ++ if (yych <= 0x1F) goto yy256; ++ if (yych <= '"') goto yy249; ++ goto yy256; ++ } ++ } else { ++ if (yych <= ':') { ++ if (yych <= ')') goto yy249; ++ if (yych <= '/') goto yy256; ++ if (yych <= '9') goto yy257; ++ goto yy256; ++ } else { ++ if (yych <= '<') { ++ if (yych <= ';') goto yy249; ++ goto yy256; ++ } else { ++ if (yych <= '=') goto yy249; ++ if (yych <= '@') goto yy256; ++ goto yy257; ++ } ++ } ++ } ++ } else { ++ if (yych <= 'n') { ++ if (yych <= 'Z') { ++ if (yych <= 'O') goto yy276; ++ if (yych == 'U') goto yy277; ++ goto yy257; ++ } else { ++ if (yych <= '^') { ++ if (yych <= ']') goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '`') goto yy256; ++ goto yy257; ++ } ++ } ++ } else { ++ if (yych <= 'z') { ++ if (yych <= 'o') goto yy276; ++ if (yych == 'u') goto yy277; ++ goto yy257; ++ } else { ++ if (yych <= '|') { ++ if (yych <= '{') goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '~') goto yy249; ++ goto yy256; ++ } ++ } ++ } ++ } ++yy252: ++ YYDEBUG(252, *YYCURSOR); ++ yyaccept = 4; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= 'E') { ++ if (yych <= '%') { ++ if (yych <= '\f') { ++ if (yych <= 0x00) goto yy249; ++ if (yych <= 0x08) goto yy256; ++ if (yych <= '\n') goto yy249; ++ goto yy256; ++ } else { ++ if (yych <= '\r') goto yy249; ++ if (yych <= 0x1F) goto yy256; ++ if (yych <= '"') goto yy249; ++ goto yy256; ++ } ++ } else { ++ if (yych <= ':') { ++ if (yych <= ')') goto yy249; ++ if (yych <= '/') goto yy256; ++ if (yych <= '9') goto yy257; ++ goto yy256; ++ } else { ++ if (yych <= '<') { ++ if (yych <= ';') goto yy249; ++ goto yy256; ++ } else { ++ if (yych <= '=') goto yy249; ++ if (yych <= '@') goto yy256; ++ goto yy257; ++ } ++ } ++ } ++ } else { ++ if (yych <= 'e') { ++ if (yych <= 'Z') { ++ if (yych <= 'F') goto yy271; ++ if (yych == 'N') goto yy265; ++ goto yy257; ++ } else { ++ if (yych <= '^') { ++ if (yych <= ']') goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '`') goto yy256; ++ goto yy257; ++ } ++ } ++ } else { ++ if (yych <= 'z') { ++ if (yych <= 'f') goto yy271; ++ if (yych == 'n') goto yy265; ++ goto yy257; ++ } else { ++ if (yych <= '|') { ++ if (yych <= '{') goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '~') goto yy249; ++ goto yy256; ++ } ++ } ++ } ++ } ++yy253: ++ YYDEBUG(253, *YYCURSOR); ++ yyaccept = 4; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '=') { ++ if (yych <= '"') { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy249; ++ if (yych <= 0x08) goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '\r') goto yy249; ++ if (yych <= 0x1F) goto yy256; ++ goto yy249; ++ } ++ } else { ++ if (yych <= '9') { ++ if (yych <= '%') goto yy256; ++ if (yych <= ')') goto yy249; ++ if (yych <= '/') goto yy256; ++ goto yy257; ++ } else { ++ if (yych == ';') goto yy249; ++ if (yych <= '<') goto yy256; ++ goto yy249; ++ } ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'Z') { ++ if (yych <= '@') goto yy256; ++ if (yych == 'R') goto yy269; ++ goto yy257; ++ } else { ++ if (yych <= ']') goto yy256; ++ if (yych <= '^') goto yy249; ++ if (yych <= '_') goto yy257; ++ goto yy256; ++ } ++ } else { ++ if (yych <= '{') { ++ if (yych == 'r') goto yy269; ++ if (yych <= 'z') goto yy257; ++ goto yy256; ++ } else { ++ if (yych == '}') goto yy256; ++ if (yych <= '~') goto yy249; ++ goto yy256; ++ } ++ } ++ } ++yy254: ++ YYDEBUG(254, *YYCURSOR); ++ yyaccept = 4; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '=') { ++ if (yych <= '"') { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy249; ++ if (yych <= 0x08) goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '\r') goto yy249; ++ if (yych <= 0x1F) goto yy256; ++ goto yy249; ++ } ++ } else { ++ if (yych <= '9') { ++ if (yych <= '%') goto yy256; ++ if (yych <= ')') goto yy249; ++ if (yych <= '/') goto yy256; ++ goto yy257; ++ } else { ++ if (yych == ';') goto yy249; ++ if (yych <= '<') goto yy256; ++ goto yy249; ++ } ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'Z') { ++ if (yych <= '@') goto yy256; ++ if (yych == 'E') goto yy259; ++ goto yy257; ++ } else { ++ if (yych <= ']') goto yy256; ++ if (yych <= '^') goto yy249; ++ if (yych <= '_') goto yy257; ++ goto yy256; ++ } ++ } else { ++ if (yych <= '{') { ++ if (yych == 'e') goto yy259; ++ if (yych <= 'z') goto yy257; ++ goto yy256; ++ } else { ++ if (yych == '}') goto yy256; ++ if (yych <= '~') goto yy249; ++ goto yy256; ++ } ++ } ++ } ++yy255: ++ YYDEBUG(255, *YYCURSOR); ++ yyaccept = 0; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++yy256: ++ YYDEBUG(256, *YYCURSOR); ++ if (yybm[0+yych] & 2) { ++ goto yy255; ++ } ++ if (yych == '$') goto yy260; ++ goto yy229; ++yy257: ++ YYDEBUG(257, *YYCURSOR); ++ yyaccept = 4; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(258, *YYCURSOR); ++ if (yybm[0+yych] & 4) { ++ goto yy257; ++ } ++ if (yych <= ')') { ++ if (yych <= '\r') { ++ if (yych <= 0x08) { ++ if (yych <= 0x00) goto yy249; ++ goto yy255; ++ } else { ++ if (yych <= '\n') goto yy249; ++ if (yych <= '\f') goto yy255; ++ goto yy249; ++ } ++ } else { ++ if (yych <= '#') { ++ if (yych <= 0x1F) goto yy255; ++ if (yych <= '"') goto yy249; ++ goto yy255; ++ } else { ++ if (yych <= '$') goto yy260; ++ if (yych <= '%') goto yy255; ++ goto yy249; ++ } ++ } ++ } else { ++ if (yych <= ']') { ++ if (yych <= ';') { ++ if (yych <= ':') goto yy255; ++ goto yy249; ++ } else { ++ if (yych == '=') goto yy249; ++ goto yy255; ++ } ++ } else { ++ if (yych <= '|') { ++ if (yych <= '^') goto yy249; ++ if (yych <= '{') goto yy255; ++ goto yy249; ++ } else { ++ if (yych == '~') goto yy249; ++ goto yy255; ++ } ++ } ++ } ++yy259: ++ YYDEBUG(259, *YYCURSOR); ++ yyaccept = 4; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '=') { ++ if (yych <= '"') { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy249; ++ if (yych <= 0x08) goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '\r') goto yy249; ++ if (yych <= 0x1F) goto yy256; ++ goto yy249; ++ } ++ } else { ++ if (yych <= '9') { ++ if (yych <= '%') goto yy256; ++ if (yych <= ')') goto yy249; ++ if (yych <= '/') goto yy256; ++ goto yy257; ++ } else { ++ if (yych == ';') goto yy249; ++ if (yych <= '<') goto yy256; ++ goto yy249; ++ } ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'Z') { ++ if (yych <= '@') goto yy256; ++ if (yych == 'S') goto yy265; ++ goto yy257; ++ } else { ++ if (yych <= ']') goto yy256; ++ if (yych <= '^') goto yy249; ++ if (yych <= '_') goto yy257; ++ goto yy256; ++ } ++ } else { ++ if (yych <= '{') { ++ if (yych == 's') goto yy265; ++ if (yych <= 'z') goto yy257; ++ goto yy256; ++ } else { ++ if (yych == '}') goto yy256; ++ if (yych <= '~') goto yy249; ++ goto yy256; ++ } ++ } ++ } ++yy260: ++ YYDEBUG(260, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ if (yych <= '\\') { ++ if (yych <= 0x00) goto yy261; ++ if (yych <= '[') goto yy255; ++ goto yy262; ++ } else { ++ if (yych != '{') goto yy255; ++ } ++yy261: ++ YYDEBUG(261, *YYCURSOR); ++ YYCURSOR = YYMARKER; ++ if (yyaccept <= 3) { ++ if (yyaccept <= 1) { ++ if (yyaccept <= 0) { ++ goto yy229; ++ } else { ++ goto yy231; ++ } ++ } else { ++ if (yyaccept <= 2) { ++ goto yy227; ++ } else { ++ goto yy244; ++ } ++ } ++ } else { ++ if (yyaccept <= 5) { ++ if (yyaccept <= 4) { ++ goto yy249; ++ } else { ++ goto yy266; ++ } ++ } else { ++ goto yy273; ++ } ++ } ++yy262: ++ YYDEBUG(262, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ if (yybm[0+yych] & 8) { ++ goto yy263; ++ } ++ goto yy255; ++yy263: ++ YYDEBUG(263, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(264, *YYCURSOR); ++ if (yybm[0+yych] & 8) { ++ goto yy263; ++ } ++ if (yych <= 0x00) goto yy229; ++ if (yych == '\\') goto yy262; ++ goto yy255; ++yy265: ++ YYDEBUG(265, *YYCURSOR); ++ yyaccept = 5; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yybm[0+yych] & 16) { ++ goto yy267; ++ } ++ if (yych <= ';') { ++ if (yych <= ' ') { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy266; ++ if (yych <= '\t') goto yy256; ++ } else { ++ if (yych != '\r') goto yy256; ++ } ++ } else { ++ if (yych <= ')') { ++ if (yych <= '"') goto yy266; ++ if (yych <= '%') goto yy256; ++ } else { ++ if (yych <= '/') goto yy256; ++ if (yych <= '9') goto yy257; ++ if (yych <= ':') goto yy256; ++ } ++ } ++ } else { ++ if (yych <= '_') { ++ if (yych <= '@') { ++ if (yych != '=') goto yy256; ++ } else { ++ if (yych <= 'Z') goto yy257; ++ if (yych <= ']') goto yy256; ++ if (yych >= '_') goto yy257; ++ } ++ } else { ++ if (yych <= '{') { ++ if (yych <= '`') goto yy256; ++ if (yych <= 'z') goto yy257; ++ goto yy256; ++ } else { ++ if (yych == '}') goto yy256; ++ if (yych >= 0x7F) goto yy256; ++ } ++ } ++ } ++yy266: ++ YYDEBUG(266, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 421 "Zend/zend_ini_scanner.l" ++ { /* TRUE value (when used outside option value/offset this causes parse error!) */ ++ RETURN_TOKEN(BOOL_TRUE, "1", 1); ++} ++#line 3645 "Zend/zend_ini_scanner.c" ++yy267: ++ YYDEBUG(267, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(268, *YYCURSOR); ++ if (yybm[0+yych] & 16) { ++ goto yy267; ++ } ++ goto yy266; ++yy269: ++ YYDEBUG(269, *YYCURSOR); ++ yyaccept = 4; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '=') { ++ if (yych <= '"') { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy249; ++ if (yych <= 0x08) goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '\r') goto yy249; ++ if (yych <= 0x1F) goto yy256; ++ goto yy249; ++ } ++ } else { ++ if (yych <= '9') { ++ if (yych <= '%') goto yy256; ++ if (yych <= ')') goto yy249; ++ if (yych <= '/') goto yy256; ++ goto yy257; ++ } else { ++ if (yych == ';') goto yy249; ++ if (yych <= '<') goto yy256; ++ goto yy249; ++ } ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'Z') { ++ if (yych <= '@') goto yy256; ++ if (yych != 'U') goto yy257; ++ } else { ++ if (yych <= ']') goto yy256; ++ if (yych <= '^') goto yy249; ++ if (yych <= '_') goto yy257; ++ goto yy256; ++ } ++ } else { ++ if (yych <= '{') { ++ if (yych == 'u') goto yy270; ++ if (yych <= 'z') goto yy257; ++ goto yy256; ++ } else { ++ if (yych == '}') goto yy256; ++ if (yych <= '~') goto yy249; ++ goto yy256; ++ } ++ } ++ } ++yy270: ++ YYDEBUG(270, *YYCURSOR); ++ yyaccept = 4; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '=') { ++ if (yych <= '"') { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy249; ++ if (yych <= 0x08) goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '\r') goto yy249; ++ if (yych <= 0x1F) goto yy256; ++ goto yy249; ++ } ++ } else { ++ if (yych <= '9') { ++ if (yych <= '%') goto yy256; ++ if (yych <= ')') goto yy249; ++ if (yych <= '/') goto yy256; ++ goto yy257; ++ } else { ++ if (yych == ';') goto yy249; ++ if (yych <= '<') goto yy256; ++ goto yy249; ++ } ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'Z') { ++ if (yych <= '@') goto yy256; ++ if (yych == 'E') goto yy265; ++ goto yy257; ++ } else { ++ if (yych <= ']') goto yy256; ++ if (yych <= '^') goto yy249; ++ if (yych <= '_') goto yy257; ++ goto yy256; ++ } ++ } else { ++ if (yych <= '{') { ++ if (yych == 'e') goto yy265; ++ if (yych <= 'z') goto yy257; ++ goto yy256; ++ } else { ++ if (yych == '}') goto yy256; ++ if (yych <= '~') goto yy249; ++ goto yy256; ++ } ++ } ++ } ++yy271: ++ YYDEBUG(271, *YYCURSOR); ++ yyaccept = 4; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '=') { ++ if (yych <= '"') { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy249; ++ if (yych <= 0x08) goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '\r') goto yy249; ++ if (yych <= 0x1F) goto yy256; ++ goto yy249; ++ } ++ } else { ++ if (yych <= '9') { ++ if (yych <= '%') goto yy256; ++ if (yych <= ')') goto yy249; ++ if (yych <= '/') goto yy256; ++ goto yy257; ++ } else { ++ if (yych == ';') goto yy249; ++ if (yych <= '<') goto yy256; ++ goto yy249; ++ } ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'Z') { ++ if (yych <= '@') goto yy256; ++ if (yych != 'F') goto yy257; ++ } else { ++ if (yych <= ']') goto yy256; ++ if (yych <= '^') goto yy249; ++ if (yych <= '_') goto yy257; ++ goto yy256; ++ } ++ } else { ++ if (yych <= '{') { ++ if (yych == 'f') goto yy272; ++ if (yych <= 'z') goto yy257; ++ goto yy256; ++ } else { ++ if (yych == '}') goto yy256; ++ if (yych <= '~') goto yy249; ++ goto yy256; ++ } ++ } ++ } ++yy272: ++ YYDEBUG(272, *YYCURSOR); ++ yyaccept = 6; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yybm[0+yych] & 4) { ++ goto yy257; ++ } ++ if (yych <= ')') { ++ if (yych <= '\f') { ++ if (yych <= 0x08) { ++ if (yych >= 0x01) goto yy256; ++ } else { ++ if (yych <= '\t') goto yy274; ++ if (yych >= '\v') goto yy256; ++ } ++ } else { ++ if (yych <= ' ') { ++ if (yych <= '\r') goto yy273; ++ if (yych <= 0x1F) goto yy256; ++ goto yy274; ++ } else { ++ if (yych <= '"') goto yy273; ++ if (yych <= '%') goto yy256; ++ } ++ } ++ } else { ++ if (yych <= ']') { ++ if (yych <= ';') { ++ if (yych <= ':') goto yy256; ++ } else { ++ if (yych != '=') goto yy256; ++ } ++ } else { ++ if (yych <= '|') { ++ if (yych <= '^') goto yy273; ++ if (yych <= '{') goto yy256; ++ } else { ++ if (yych != '~') goto yy256; ++ } ++ } ++ } ++yy273: ++ YYDEBUG(273, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 425 "Zend/zend_ini_scanner.l" ++ { /* FALSE value (when used outside option value/offset this causes parse error!)*/ ++ RETURN_TOKEN(BOOL_FALSE, "", 0); ++} ++#line 3855 "Zend/zend_ini_scanner.c" ++yy274: ++ YYDEBUG(274, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(275, *YYCURSOR); ++ if (yych == '\t') goto yy274; ++ if (yych == ' ') goto yy274; ++ goto yy273; ++yy276: ++ YYDEBUG(276, *YYCURSOR); ++ yyaccept = 6; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '<') { ++ if (yych <= ' ') { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy273; ++ if (yych <= 0x08) goto yy256; ++ if (yych <= '\t') goto yy274; ++ goto yy273; ++ } else { ++ if (yych == '\r') goto yy273; ++ if (yych <= 0x1F) goto yy256; ++ goto yy274; ++ } ++ } else { ++ if (yych <= '/') { ++ if (yych <= '"') goto yy273; ++ if (yych <= '%') goto yy256; ++ if (yych <= ')') goto yy273; ++ goto yy256; ++ } else { ++ if (yych <= '9') goto yy257; ++ if (yych == ';') goto yy273; ++ goto yy256; ++ } ++ } ++ } else { ++ if (yych <= '_') { ++ if (yych <= 'N') { ++ if (yych <= '=') goto yy273; ++ if (yych <= '@') goto yy256; ++ if (yych <= 'M') goto yy257; ++ goto yy279; ++ } else { ++ if (yych <= 'Z') goto yy257; ++ if (yych <= ']') goto yy256; ++ if (yych <= '^') goto yy273; ++ goto yy257; ++ } ++ } else { ++ if (yych <= 'z') { ++ if (yych <= '`') goto yy256; ++ if (yych == 'n') goto yy279; ++ goto yy257; ++ } else { ++ if (yych <= '|') { ++ if (yych <= '{') goto yy256; ++ goto yy273; ++ } else { ++ if (yych == '~') goto yy273; ++ goto yy256; ++ } ++ } ++ } ++ } ++yy277: ++ YYDEBUG(277, *YYCURSOR); ++ yyaccept = 4; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '=') { ++ if (yych <= '"') { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy249; ++ if (yych <= 0x08) goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '\r') goto yy249; ++ if (yych <= 0x1F) goto yy256; ++ goto yy249; ++ } ++ } else { ++ if (yych <= '9') { ++ if (yych <= '%') goto yy256; ++ if (yych <= ')') goto yy249; ++ if (yych <= '/') goto yy256; ++ goto yy257; ++ } else { ++ if (yych == ';') goto yy249; ++ if (yych <= '<') goto yy256; ++ goto yy249; ++ } ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'Z') { ++ if (yych <= '@') goto yy256; ++ if (yych != 'L') goto yy257; ++ } else { ++ if (yych <= ']') goto yy256; ++ if (yych <= '^') goto yy249; ++ if (yych <= '_') goto yy257; ++ goto yy256; ++ } ++ } else { ++ if (yych <= '{') { ++ if (yych == 'l') goto yy278; ++ if (yych <= 'z') goto yy257; ++ goto yy256; ++ } else { ++ if (yych == '}') goto yy256; ++ if (yych <= '~') goto yy249; ++ goto yy256; ++ } ++ } ++ } ++yy278: ++ YYDEBUG(278, *YYCURSOR); ++ yyaccept = 4; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '=') { ++ if (yych <= '"') { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy249; ++ if (yych <= 0x08) goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '\r') goto yy249; ++ if (yych <= 0x1F) goto yy256; ++ goto yy249; ++ } ++ } else { ++ if (yych <= '9') { ++ if (yych <= '%') goto yy256; ++ if (yych <= ')') goto yy249; ++ if (yych <= '/') goto yy256; ++ goto yy257; ++ } else { ++ if (yych == ';') goto yy249; ++ if (yych <= '<') goto yy256; ++ goto yy249; ++ } ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'Z') { ++ if (yych <= '@') goto yy256; ++ if (yych == 'L') goto yy272; ++ goto yy257; ++ } else { ++ if (yych <= ']') goto yy256; ++ if (yych <= '^') goto yy249; ++ if (yych <= '_') goto yy257; ++ goto yy256; ++ } ++ } else { ++ if (yych <= '{') { ++ if (yych == 'l') goto yy272; ++ if (yych <= 'z') goto yy257; ++ goto yy256; ++ } else { ++ if (yych == '}') goto yy256; ++ if (yych <= '~') goto yy249; ++ goto yy256; ++ } ++ } ++ } ++yy279: ++ YYDEBUG(279, *YYCURSOR); ++ yyaccept = 4; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '=') { ++ if (yych <= '"') { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy249; ++ if (yych <= 0x08) goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '\r') goto yy249; ++ if (yych <= 0x1F) goto yy256; ++ goto yy249; ++ } ++ } else { ++ if (yych <= '9') { ++ if (yych <= '%') goto yy256; ++ if (yych <= ')') goto yy249; ++ if (yych <= '/') goto yy256; ++ goto yy257; ++ } else { ++ if (yych == ';') goto yy249; ++ if (yych <= '<') goto yy256; ++ goto yy249; ++ } ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'Z') { ++ if (yych <= '@') goto yy256; ++ if (yych == 'E') goto yy272; ++ goto yy257; ++ } else { ++ if (yych <= ']') goto yy256; ++ if (yych <= '^') goto yy249; ++ if (yych <= '_') goto yy257; ++ goto yy256; ++ } ++ } else { ++ if (yych <= '{') { ++ if (yych == 'e') goto yy272; ++ if (yych <= 'z') goto yy257; ++ goto yy256; ++ } else { ++ if (yych == '}') goto yy256; ++ if (yych <= '~') goto yy249; ++ goto yy256; ++ } ++ } ++ } ++yy280: ++ YYDEBUG(280, *YYCURSOR); ++ yyaccept = 4; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '=') { ++ if (yych <= '"') { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy249; ++ if (yych <= 0x08) goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '\r') goto yy249; ++ if (yych <= 0x1F) goto yy256; ++ goto yy249; ++ } ++ } else { ++ if (yych <= '9') { ++ if (yych <= '%') goto yy256; ++ if (yych <= ')') goto yy249; ++ if (yych <= '/') goto yy256; ++ goto yy257; ++ } else { ++ if (yych == ';') goto yy249; ++ if (yych <= '<') goto yy256; ++ goto yy249; ++ } ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'Z') { ++ if (yych <= '@') goto yy256; ++ if (yych != 'L') goto yy257; ++ } else { ++ if (yych <= ']') goto yy256; ++ if (yych <= '^') goto yy249; ++ if (yych <= '_') goto yy257; ++ goto yy256; ++ } ++ } else { ++ if (yych <= '{') { ++ if (yych == 'l') goto yy281; ++ if (yych <= 'z') goto yy257; ++ goto yy256; ++ } else { ++ if (yych == '}') goto yy256; ++ if (yych <= '~') goto yy249; ++ goto yy256; ++ } ++ } ++ } ++yy281: ++ YYDEBUG(281, *YYCURSOR); ++ yyaccept = 4; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '=') { ++ if (yych <= '"') { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy249; ++ if (yych <= 0x08) goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '\r') goto yy249; ++ if (yych <= 0x1F) goto yy256; ++ goto yy249; ++ } ++ } else { ++ if (yych <= '9') { ++ if (yych <= '%') goto yy256; ++ if (yych <= ')') goto yy249; ++ if (yych <= '/') goto yy256; ++ goto yy257; ++ } else { ++ if (yych == ';') goto yy249; ++ if (yych <= '<') goto yy256; ++ goto yy249; ++ } ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'Z') { ++ if (yych <= '@') goto yy256; ++ if (yych != 'S') goto yy257; ++ } else { ++ if (yych <= ']') goto yy256; ++ if (yych <= '^') goto yy249; ++ if (yych <= '_') goto yy257; ++ goto yy256; ++ } ++ } else { ++ if (yych <= '{') { ++ if (yych == 's') goto yy282; ++ if (yych <= 'z') goto yy257; ++ goto yy256; ++ } else { ++ if (yych == '}') goto yy256; ++ if (yych <= '~') goto yy249; ++ goto yy256; ++ } ++ } ++ } ++yy282: ++ YYDEBUG(282, *YYCURSOR); ++ yyaccept = 4; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '=') { ++ if (yych <= '"') { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy249; ++ if (yych <= 0x08) goto yy256; ++ goto yy249; ++ } else { ++ if (yych == '\r') goto yy249; ++ if (yych <= 0x1F) goto yy256; ++ goto yy249; ++ } ++ } else { ++ if (yych <= '9') { ++ if (yych <= '%') goto yy256; ++ if (yych <= ')') goto yy249; ++ if (yych <= '/') goto yy256; ++ goto yy257; ++ } else { ++ if (yych == ';') goto yy249; ++ if (yych <= '<') goto yy256; ++ goto yy249; ++ } ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'Z') { ++ if (yych <= '@') goto yy256; ++ if (yych == 'E') goto yy272; ++ goto yy257; ++ } else { ++ if (yych <= ']') goto yy256; ++ if (yych <= '^') goto yy249; ++ if (yych <= '_') goto yy257; ++ goto yy256; ++ } ++ } else { ++ if (yych <= '{') { ++ if (yych == 'e') goto yy272; ++ if (yych <= 'z') goto yy257; ++ goto yy256; ++ } else { ++ if (yych == '}') goto yy256; ++ if (yych <= '~') goto yy249; ++ goto yy256; ++ } ++ } ++ } ++yy283: ++ YYDEBUG(283, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(2); ++ yych = *YYCURSOR; ++yy284: ++ YYDEBUG(284, *YYCURSOR); ++ if (yybm[0+yych] & 32) { ++ goto yy283; ++ } ++ if (yych >= '\r') goto yy287; ++yy285: ++ YYDEBUG(285, *YYCURSOR); ++ ++YYCURSOR; ++yy286: ++ YYDEBUG(286, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 585 "Zend/zend_ini_scanner.l" ++ { /* Comment */ ++ BEGIN(INITIAL); ++ SCNG(lineno)++; ++ return END_OF_LINE; ++} ++#line 4248 "Zend/zend_ini_scanner.c" ++yy287: ++ YYDEBUG(287, *YYCURSOR); ++ yych = *++YYCURSOR; ++ if (yych == '\n') goto yy285; ++ goto yy286; ++yy288: ++ YYDEBUG(288, *YYCURSOR); ++ yyaccept = 3; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(289, *YYCURSOR); ++ if (yybm[0+yych] & 64) { ++ goto yy288; ++ } ++ if (yych <= ')') { ++ if (yych <= '\r') { ++ if (yych <= 0x08) { ++ if (yych <= 0x00) goto yy244; ++ goto yy255; ++ } else { ++ if (yych <= '\n') goto yy244; ++ if (yych <= '\f') goto yy255; ++ goto yy244; ++ } ++ } else { ++ if (yych <= '#') { ++ if (yych <= 0x1F) goto yy255; ++ if (yych <= '"') goto yy244; ++ goto yy255; ++ } else { ++ if (yych <= '$') goto yy260; ++ if (yych <= '%') goto yy255; ++ goto yy244; ++ } ++ } ++ } else { ++ if (yych <= ']') { ++ if (yych <= ';') { ++ if (yych <= ':') goto yy255; ++ goto yy244; ++ } else { ++ if (yych == '=') goto yy244; ++ goto yy255; ++ } ++ } else { ++ if (yych <= '|') { ++ if (yych <= '^') goto yy244; ++ if (yych <= '{') goto yy255; ++ goto yy244; ++ } else { ++ if (yych == '~') goto yy244; ++ goto yy255; ++ } ++ } ++ } ++yy290: ++ YYDEBUG(290, *YYCURSOR); ++ yyaccept = 3; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(291, *YYCURSOR); ++ if (yych <= '.') { ++ if (yych <= 0x1F) { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy244; ++ if (yych <= 0x08) goto yy255; ++ goto yy244; ++ } else { ++ if (yych == '\r') goto yy244; ++ goto yy255; ++ } ++ } else { ++ if (yych <= '$') { ++ if (yych <= '"') goto yy244; ++ if (yych <= '#') goto yy255; ++ goto yy260; ++ } else { ++ if (yych <= '%') goto yy255; ++ if (yych <= ')') goto yy244; ++ if (yych <= '-') goto yy255; ++ goto yy288; ++ } ++ } ++ } else { ++ if (yych <= '=') { ++ if (yych <= ':') { ++ if (yych <= '/') goto yy255; ++ if (yych <= '9') goto yy290; ++ goto yy255; ++ } else { ++ if (yych == '<') goto yy255; ++ goto yy244; ++ } ++ } else { ++ if (yych <= '{') { ++ if (yych == '^') goto yy244; ++ goto yy255; ++ } else { ++ if (yych == '}') goto yy255; ++ if (yych <= '~') goto yy244; ++ goto yy255; ++ } ++ } ++ } ++yy292: ++ YYDEBUG(292, *YYCURSOR); ++ yyaccept = 3; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(293, *YYCURSOR); ++ if (yych <= '/') { ++ if (yych <= 0x1F) { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy244; ++ if (yych <= 0x08) goto yy255; ++ goto yy244; ++ } else { ++ if (yych == '\r') goto yy244; ++ goto yy255; ++ } ++ } else { ++ if (yych <= '$') { ++ if (yych <= '"') goto yy244; ++ if (yych <= '#') goto yy255; ++ goto yy260; ++ } else { ++ if (yych <= '%') goto yy255; ++ if (yych <= ')') goto yy244; ++ goto yy255; ++ } ++ } ++ } else { ++ if (yych <= ']') { ++ if (yych <= ';') { ++ if (yych <= '9') goto yy292; ++ if (yych <= ':') goto yy255; ++ goto yy244; ++ } else { ++ if (yych == '=') goto yy244; ++ goto yy255; ++ } ++ } else { ++ if (yych <= '|') { ++ if (yych <= '^') goto yy244; ++ if (yych <= '{') goto yy255; ++ goto yy244; ++ } else { ++ if (yych == '~') goto yy244; ++ goto yy255; ++ } ++ } ++ } ++yy294: ++ YYDEBUG(294, *YYCURSOR); ++ yyaccept = 3; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(295, *YYCURSOR); ++ if (yych <= '/') { ++ if (yych <= 0x1F) { ++ if (yych <= '\n') { ++ if (yych <= 0x00) goto yy244; ++ if (yych <= 0x08) goto yy255; ++ goto yy244; ++ } else { ++ if (yych == '\r') goto yy244; ++ goto yy255; ++ } ++ } else { ++ if (yych <= '$') { ++ if (yych <= '"') goto yy244; ++ if (yych <= '#') goto yy255; ++ goto yy260; ++ } else { ++ if (yych <= '%') goto yy255; ++ if (yych <= ')') goto yy244; ++ goto yy255; ++ } ++ } ++ } else { ++ if (yych <= ']') { ++ if (yych <= ';') { ++ if (yych <= '9') goto yy294; ++ if (yych <= ':') goto yy255; ++ goto yy244; ++ } else { ++ if (yych == '=') goto yy244; ++ goto yy255; ++ } ++ } else { ++ if (yych <= '|') { ++ if (yych <= '^') goto yy244; ++ if (yych <= '{') goto yy255; ++ goto yy244; ++ } else { ++ if (yych == '~') goto yy244; ++ goto yy255; ++ } ++ } ++ } ++yy296: ++ YYDEBUG(296, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++ YYDEBUG(297, *YYCURSOR); ++ if (yybm[0+yych] & 128) { ++ goto yy296; ++ } ++ YYDEBUG(298, *YYCURSOR); ++ ++YYCURSOR; ++ YYDEBUG(299, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 368 "Zend/zend_ini_scanner.l" ++ { /* Raw string */ ++ /* Eat leading and trailing single quotes */ ++ if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') { ++ SCNG(yy_text)++; ++ yyleng = yyleng - 2; ++ } ++ RETURN_TOKEN(TC_RAW, yytext, yyleng); ++} ++#line 4475 "Zend/zend_ini_scanner.c" ++yy300: ++ YYDEBUG(300, *YYCURSOR); ++ ++YYCURSOR; ++ YYDEBUG(301, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 401 "Zend/zend_ini_scanner.l" ++ { /* Variable start */ ++ yy_push_state(ST_VARNAME TSRMLS_CC); ++ return TC_DOLLAR_CURLY; ++} ++#line 4486 "Zend/zend_ini_scanner.c" ++yy302: ++ YYDEBUG(302, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++yy303: ++ YYDEBUG(303, *YYCURSOR); ++ if (yych == '\t') goto yy302; ++ if (yych == ' ') goto yy302; ++ goto yy236; ++yy304: ++ YYDEBUG(304, *YYCURSOR); ++ yych = *++YYCURSOR; ++ goto yy233; ++yy305: ++ YYDEBUG(305, *YYCURSOR); ++ yyaccept = 1; ++ YYMARKER = ++YYCURSOR; ++ YYFILL(2); ++ yych = *YYCURSOR; ++yy306: ++ YYDEBUG(306, *YYCURSOR); ++ if (yych <= 0x1F) { ++ if (yych <= '\n') { ++ if (yych <= 0x08) goto yy231; ++ if (yych <= '\t') goto yy305; ++ goto yy304; ++ } else { ++ if (yych == '\r') goto yy308; ++ goto yy231; ++ } ++ } else { ++ if (yych <= '"') { ++ if (yych <= ' ') goto yy305; ++ if (yych <= '!') goto yy231; ++ } else { ++ if (yych == ';') goto yy283; ++ goto yy231; ++ } ++ } ++ YYDEBUG(307, *YYCURSOR); ++ yych = *++YYCURSOR; ++ goto yy238; ++yy308: ++ YYDEBUG(308, *YYCURSOR); ++ ++YYCURSOR; ++ if ((yych = *YYCURSOR) == '\n') goto yy304; ++ goto yy233; ++ } ++/* *********************************** */ ++yyc_ST_VARNAME: ++ { ++ static const unsigned char yybm[] = { ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 0, 0, 128, 128, 0, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 0, 0, 128, 0, 128, 0, 128, ++ 0, 0, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 0, 128, 0, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 0, 128, 128, 0, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 0, 0, 0, 0, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ 128, 128, 128, 128, 128, 128, 128, 128, ++ }; ++ YYDEBUG(309, *YYCURSOR); ++ YYFILL(2); ++ yych = *YYCURSOR; ++ if (yych <= ')') { ++ if (yych <= '"') { ++ if (yych <= '\f') { ++ if (yych <= 0x08) goto yy311; ++ if (yych <= '\n') goto yy313; ++ } else { ++ if (yych <= '\r') goto yy313; ++ if (yych >= '!') goto yy313; ++ } ++ } else { ++ if (yych <= '%') { ++ if (yych == '$') goto yy313; ++ } else { ++ if (yych != '\'') goto yy313; ++ } ++ } ++ } else { ++ if (yych <= '[') { ++ if (yych <= '<') { ++ if (yych == ';') goto yy313; ++ } else { ++ if (yych <= '=') goto yy313; ++ if (yych >= '[') goto yy313; ++ } ++ } else { ++ if (yych <= 'z') { ++ if (yych == '^') goto yy313; ++ } else { ++ if (yych == '}') goto yy315; ++ if (yych <= '~') goto yy313; ++ } ++ } ++ } ++yy311: ++ YYDEBUG(311, *YYCURSOR); ++ ++YYCURSOR; ++ yych = *YYCURSOR; ++ goto yy318; ++yy312: ++ YYDEBUG(312, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 406 "Zend/zend_ini_scanner.l" ++ { /* Variable name */ ++ /* Eat leading whitespace */ ++ EAT_LEADING_WHITESPACE(); ++ ++ /* Eat trailing whitespace */ ++ EAT_TRAILING_WHITESPACE(); ++ ++ RETURN_TOKEN(TC_VARNAME, yytext, yyleng); ++} ++#line 4627 "Zend/zend_ini_scanner.c" ++yy313: ++ YYDEBUG(313, *YYCURSOR); ++ ++YYCURSOR; ++ YYDEBUG(314, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 603 "Zend/zend_ini_scanner.l" ++ { ++ return 0; ++} ++#line 4637 "Zend/zend_ini_scanner.c" ++yy315: ++ YYDEBUG(315, *YYCURSOR); ++ ++YYCURSOR; ++ YYDEBUG(316, *YYCURSOR); ++ yyleng = YYCURSOR - SCNG(yy_text); ++#line 416 "Zend/zend_ini_scanner.l" ++ { /* Variable end */ ++ yy_pop_state(TSRMLS_C); ++ return '}'; ++} ++#line 4648 "Zend/zend_ini_scanner.c" ++yy317: ++ YYDEBUG(317, *YYCURSOR); ++ ++YYCURSOR; ++ YYFILL(1); ++ yych = *YYCURSOR; ++yy318: ++ YYDEBUG(318, *YYCURSOR); ++ if (yybm[0+yych] & 128) { ++ goto yy317; ++ } ++ goto yy312; ++ } ++} ++#line 607 "Zend/zend_ini_scanner.l" ++ ++} diff --cc Zend/zend_ini_scanner_defs.h index 287d7bc1fb,287d7bc1fb..5723954978 --- a/Zend/zend_ini_scanner_defs.h +++ b/Zend/zend_ini_scanner_defs.h @@@ -1,13 -1,13 +1,13 @@@ --/* Generated by re2c 0.13.5 */ --#line 3 "Zend/zend_ini_scanner_defs.h" -- --enum YYCONDTYPE { -- yycINITIAL, -- yycST_OFFSET, -- yycST_SECTION_VALUE, -- yycST_VALUE, -- yycST_SECTION_RAW, -- yycST_DOUBLE_QUOTES, -- yycST_VARNAME, -- yycST_RAW, --}; ++/* Generated by re2c 0.13.5 */ ++#line 3 "Zend/zend_ini_scanner_defs.h" ++ ++enum YYCONDTYPE { ++ yycINITIAL, ++ yycST_OFFSET, ++ yycST_SECTION_VALUE, ++ yycST_VALUE, ++ yycST_SECTION_RAW, ++ yycST_DOUBLE_QUOTES, ++ yycST_VARNAME, ++ yycST_RAW, ++}; diff --cc Zend/zend_language_scanner.c index 05f9e4ed7f,7173e91809..ae41cde77f --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@@ -1,7857 -1,7894 +1,7857 @@@ - /* Generated by re2c 0.13.5 */ -/* Generated by re2c 0.13.5 on Sun Dec 22 13:03:33 2013 */ --#line 1 "Zend/zend_language_scanner.l" --/* -- +----------------------------------------------------------------------+ -- | Zend Engine | -- +----------------------------------------------------------------------+ -- | Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) | -- +----------------------------------------------------------------------+ -- | This source file is subject to version 2.00 of the Zend license, | -- | that is bundled with this package in the file LICENSE, and is | -- | available through the world-wide-web at the following url: | -- | http://www.zend.com/license/2_00.txt. | -- | If you did not receive a copy of the Zend license and are unable to | -- | obtain it through the world-wide-web, please send a note to | -- | license@zend.com so we can mail you a copy immediately. | -- +----------------------------------------------------------------------+ -- | Authors: Marcus Boerger | -- | Nuno Lopes | -- | Scott MacVicar | -- | Flex version authors: | -- | Andi Gutmans | -- | Zeev Suraski | -- +----------------------------------------------------------------------+ --*/ -- --/* $Id$ */ -- --#if 0 --# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c) --#else --# define YYDEBUG(s, c) --#endif -- --#include "zend_language_scanner_defs.h" -- --#include --#include "zend.h" --#ifdef PHP_WIN32 --# include --#endif --#include "zend_alloc.h" --#include --#include "zend_compile.h" --#include "zend_language_scanner.h" --#include "zend_highlight.h" --#include "zend_constants.h" --#include "zend_variables.h" --#include "zend_operators.h" --#include "zend_API.h" --#include "zend_strtod.h" --#include "zend_exceptions.h" - #include "zend_virtual_cwd.h" -#include "tsrm_virtual_cwd.h" --#include "tsrm_config_common.h" -- --#define YYCTYPE unsigned char --#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } } --#define YYCURSOR SCNG(yy_cursor) --#define YYLIMIT SCNG(yy_limit) --#define YYMARKER SCNG(yy_marker) -- --#define YYGETCONDITION() SCNG(yy_state) --#define YYSETCONDITION(s) SCNG(yy_state) = s -- --#define STATE(name) yyc##name -- --/* emulate flex constructs */ --#define BEGIN(state) YYSETCONDITION(STATE(state)) --#define YYSTATE YYGETCONDITION() --#define yytext ((char*)SCNG(yy_text)) --#define yyleng SCNG(yy_leng) --#define yyless(x) do { YYCURSOR = (unsigned char*)yytext + x; \ -- yyleng = (unsigned int)x; } while(0) --#define yymore() goto yymore_restart -- --/* perform sanity check. If this message is triggered you should -- increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */ --#define YYMAXFILL 16 --#if ZEND_MMAP_AHEAD < YYMAXFILL --# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL --#endif -- --#ifdef HAVE_STDARG_H --# include --#endif -- --#ifdef HAVE_UNISTD_H --# include --#endif -- --/* Globals Macros */ --#define SCNG LANG_SCNG --#ifdef ZTS --ZEND_API ts_rsrc_id language_scanner_globals_id; --#else --ZEND_API zend_php_scanner_globals language_scanner_globals; --#endif -- --#define HANDLE_NEWLINES(s, l) \ --do { \ -- char *p = (s), *boundary = p+(l); \ -- \ -- while (p= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x7F) -- --#define ZEND_IS_OCT(c) ((c)>='0' && (c)<='7') --#define ZEND_IS_HEX(c) (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F')) -- --BEGIN_EXTERN_C() -- --static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC) --{ -- const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C); -- assert(internal_encoding && zend_multibyte_check_lexer_compatibility(internal_encoding)); -- return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding) TSRMLS_CC); --} -- --static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC) --{ -- return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding) TSRMLS_CC); --} -- --static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC) --{ -- return zend_multibyte_encoding_converter(to, to_length, from, from_length, --LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8 TSRMLS_CC); --} -- --static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC) --{ -- const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C); -- assert(internal_encoding && zend_multibyte_check_lexer_compatibility(internal_encoding)); -- return zend_multibyte_encoding_converter(to, to_length, from, from_length, --internal_encoding, zend_multibyte_encoding_utf8 TSRMLS_CC); --} -- -- --static void _yy_push_state(int new_state TSRMLS_DC) --{ -- zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION(), sizeof(int)); -- YYSETCONDITION(new_state); --} -- --#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm) -- --static void yy_pop_state(TSRMLS_D) --{ -- int *stack_state; -- zend_stack_top(&SCNG(state_stack), (void **) &stack_state); -- YYSETCONDITION(*stack_state); -- zend_stack_del_top(&SCNG(state_stack)); --} -- --static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC) --{ -- YYCURSOR = (YYCTYPE*)str; -- YYLIMIT = YYCURSOR + len; -- if (!SCNG(yy_start)) { -- SCNG(yy_start) = YYCURSOR; -- } --} -- --void startup_scanner(TSRMLS_D) --{ -- CG(parse_error) = 0; -- CG(doc_comment) = NULL; -- CG(doc_comment_len) = 0; -- zend_stack_init(&SCNG(state_stack)); -- zend_ptr_stack_init(&SCNG(heredoc_label_stack)); --} -- --static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) { -- efree(heredoc_label->label); --} -- --void shutdown_scanner(TSRMLS_D) --{ -- CG(parse_error) = 0; -- RESET_DOC_COMMENT(); -- zend_stack_destroy(&SCNG(state_stack)); -- zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1); -- zend_ptr_stack_destroy(&SCNG(heredoc_label_stack)); --} -- --ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC) --{ -- lex_state->yy_leng = SCNG(yy_leng); -- lex_state->yy_start = SCNG(yy_start); -- lex_state->yy_text = SCNG(yy_text); -- lex_state->yy_cursor = SCNG(yy_cursor); -- lex_state->yy_marker = SCNG(yy_marker); -- lex_state->yy_limit = SCNG(yy_limit); -- -- lex_state->state_stack = SCNG(state_stack); -- zend_stack_init(&SCNG(state_stack)); -- -- lex_state->heredoc_label_stack = SCNG(heredoc_label_stack); -- zend_ptr_stack_init(&SCNG(heredoc_label_stack)); -- -- lex_state->in = SCNG(yy_in); -- lex_state->yy_state = YYSTATE; -- lex_state->filename = zend_get_compiled_filename(TSRMLS_C); -- lex_state->lineno = CG(zend_lineno); -- -- lex_state->script_org = SCNG(script_org); -- lex_state->script_org_size = SCNG(script_org_size); -- lex_state->script_filtered = SCNG(script_filtered); -- lex_state->script_filtered_size = SCNG(script_filtered_size); -- lex_state->input_filter = SCNG(input_filter); -- lex_state->output_filter = SCNG(output_filter); -- lex_state->script_encoding = SCNG(script_encoding); --} -- --ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC) --{ -- SCNG(yy_leng) = lex_state->yy_leng; -- SCNG(yy_start) = lex_state->yy_start; -- SCNG(yy_text) = lex_state->yy_text; -- SCNG(yy_cursor) = lex_state->yy_cursor; -- SCNG(yy_marker) = lex_state->yy_marker; -- SCNG(yy_limit) = lex_state->yy_limit; -- -- zend_stack_destroy(&SCNG(state_stack)); -- SCNG(state_stack) = lex_state->state_stack; -- -- zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1); -- zend_ptr_stack_destroy(&SCNG(heredoc_label_stack)); -- SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack; -- -- SCNG(yy_in) = lex_state->in; -- YYSETCONDITION(lex_state->yy_state); -- CG(zend_lineno) = lex_state->lineno; -- zend_restore_compiled_filename(lex_state->filename TSRMLS_CC); -- -- if (SCNG(script_filtered)) { -- efree(SCNG(script_filtered)); -- SCNG(script_filtered) = NULL; -- } -- SCNG(script_org) = lex_state->script_org; -- SCNG(script_org_size) = lex_state->script_org_size; -- SCNG(script_filtered) = lex_state->script_filtered; -- SCNG(script_filtered_size) = lex_state->script_filtered_size; -- SCNG(input_filter) = lex_state->input_filter; -- SCNG(output_filter) = lex_state->output_filter; -- SCNG(script_encoding) = lex_state->script_encoding; -- -- RESET_DOC_COMMENT(); --} -- --ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC) --{ -- zend_llist_del_element(&CG(open_files), file_handle, (int (*)(void *, void *)) zend_compare_file_handles); -- /* zend_file_handle_dtor() operates on the copy, so we have to NULLify the original here */ -- file_handle->opened_path = NULL; -- if (file_handle->free_filename) { -- file_handle->filename = NULL; -- } --} -- --#define BOM_UTF32_BE "\x00\x00\xfe\xff" --#define BOM_UTF32_LE "\xff\xfe\x00\x00" --#define BOM_UTF16_BE "\xfe\xff" --#define BOM_UTF16_LE "\xff\xfe" --#define BOM_UTF8 "\xef\xbb\xbf" -- --static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size TSRMLS_DC) --{ -- const unsigned char *p; -- int wchar_size = 2; -- int le = 0; -- -- /* utf-16 or utf-32? */ -- p = script; -- while ((p-script) < script_size) { -- p = memchr(p, 0, script_size-(p-script)-2); -- if (!p) { -- break; -- } -- if (*(p+1) == '\0' && *(p+2) == '\0') { -- wchar_size = 4; -- break; -- } -- -- /* searching for UTF-32 specific byte orders, so this will do */ -- p += 4; -- } -- -- /* BE or LE? */ -- p = script; -- while ((p-script) < script_size) { -- if (*p == '\0' && *(p+wchar_size-1) != '\0') { -- /* BE */ -- le = 0; -- break; -- } else if (*p != '\0' && *(p+wchar_size-1) == '\0') { -- /* LE* */ -- le = 1; -- break; -- } -- p += wchar_size; -- } -- -- if (wchar_size == 2) { -- return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be; -- } else { -- return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be; -- } -- -- return NULL; --} -- --static const zend_encoding* zend_multibyte_detect_unicode(TSRMLS_D) --{ -- const zend_encoding *script_encoding = NULL; -- int bom_size; -- unsigned char *pos1, *pos2; -- -- if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) { -- return NULL; -- } -- -- /* check out BOM */ -- if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) { -- script_encoding = zend_multibyte_encoding_utf32be; -- bom_size = sizeof(BOM_UTF32_BE)-1; -- } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) { -- script_encoding = zend_multibyte_encoding_utf32le; -- bom_size = sizeof(BOM_UTF32_LE)-1; -- } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) { -- script_encoding = zend_multibyte_encoding_utf16be; -- bom_size = sizeof(BOM_UTF16_BE)-1; -- } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) { -- script_encoding = zend_multibyte_encoding_utf16le; -- bom_size = sizeof(BOM_UTF16_LE)-1; -- } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) { -- script_encoding = zend_multibyte_encoding_utf8; -- bom_size = sizeof(BOM_UTF8)-1; -- } -- -- if (script_encoding) { -- /* remove BOM */ -- LANG_SCNG(script_org) += bom_size; -- LANG_SCNG(script_org_size) -= bom_size; -- -- return script_encoding; -- } -- -- /* script contains NULL bytes -> auto-detection */ -- if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) { -- /* check if the NULL byte is after the __HALT_COMPILER(); */ -- pos2 = LANG_SCNG(script_org); -- -- while (pos1 - pos2 >= sizeof("__HALT_COMPILER();")-1) { -- pos2 = memchr(pos2, '_', pos1 - pos2); -- if (!pos2) break; -- pos2++; -- if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) { -- pos2 += sizeof("_HALT_COMPILER")-1; -- while (*pos2 == ' ' || -- *pos2 == '\t' || -- *pos2 == '\r' || -- *pos2 == '\n') { -- pos2++; -- } -- if (*pos2 == '(') { -- pos2++; -- while (*pos2 == ' ' || -- *pos2 == '\t' || -- *pos2 == '\r' || -- *pos2 == '\n') { -- pos2++; -- } -- if (*pos2 == ')') { -- pos2++; -- while (*pos2 == ' ' || -- *pos2 == '\t' || -- *pos2 == '\r' || -- *pos2 == '\n') { -- pos2++; -- } -- if (*pos2 == ';') { -- return NULL; -- } -- } -- } -- } -- } -- /* make best effort if BOM is missing */ -- return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size) TSRMLS_CC); -- } -- -- return NULL; --} -- --static const zend_encoding* zend_multibyte_find_script_encoding(TSRMLS_D) --{ -- const zend_encoding *script_encoding; -- -- if (CG(detect_unicode)) { -- /* check out bom(byte order mark) and see if containing wchars */ -- script_encoding = zend_multibyte_detect_unicode(TSRMLS_C); -- if (script_encoding != NULL) { -- /* bom or wchar detection is prior to 'script_encoding' option */ -- return script_encoding; -- } -- } -- -- /* if no script_encoding specified, just leave alone */ -- if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) { -- return NULL; -- } -- -- /* if multiple encodings specified, detect automagically */ -- if (CG(script_encoding_list_size) > 1) { -- return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size) TSRMLS_CC); -- } -- -- return CG(script_encoding_list)[0]; --} -- --ZEND_API int zend_multibyte_set_filter(const zend_encoding *onetime_encoding TSRMLS_DC) --{ -- const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C); -- const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding(TSRMLS_C); -- -- if (!script_encoding) { -- return FAILURE; -- } -- -- /* judge input/output filter */ -- LANG_SCNG(script_encoding) = script_encoding; -- LANG_SCNG(input_filter) = NULL; -- LANG_SCNG(output_filter) = NULL; -- -- if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) { -- if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) { -- /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */ -- LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate; -- LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script; -- } else { -- LANG_SCNG(input_filter) = NULL; -- LANG_SCNG(output_filter) = NULL; -- } -- return SUCCESS; -- } -- -- if (zend_multibyte_check_lexer_compatibility(internal_encoding)) { -- LANG_SCNG(input_filter) = encoding_filter_script_to_internal; -- LANG_SCNG(output_filter) = NULL; -- } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) { -- LANG_SCNG(input_filter) = NULL; -- LANG_SCNG(output_filter) = encoding_filter_script_to_internal; -- } else { -- /* both script and internal encodings are incompatible w/ flex */ -- LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate; -- LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal; -- } -- -- return 0; --} -- --ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC) --{ -- const char *file_path = NULL; -- char *buf; -- size_t size, offset = 0; -- -- /* The shebang line was read, get the current position to obtain the buffer start */ -- if (CG(start_lineno) == 2 && file_handle->type == ZEND_HANDLE_FP && file_handle->handle.fp) { -- if ((offset = ftell(file_handle->handle.fp)) == -1) { -- offset = 0; -- } -- } -- -- if (zend_stream_fixup(file_handle, &buf, &size TSRMLS_CC) == FAILURE) { -- return FAILURE; -- } -- -- zend_llist_add_element(&CG(open_files), file_handle); -- if (file_handle->handle.stream.handle >= (void*)file_handle && file_handle->handle.stream.handle <= (void*)(file_handle+1)) { -- zend_file_handle *fh = (zend_file_handle*)zend_llist_get_last(&CG(open_files)); -- size_t diff = (char*)file_handle->handle.stream.handle - (char*)file_handle; -- fh->handle.stream.handle = (void*)(((char*)fh) + diff); -- file_handle->handle.stream.handle = fh->handle.stream.handle; -- } -- -- /* Reset the scanner for scanning the new file */ -- SCNG(yy_in) = file_handle; -- SCNG(yy_start) = NULL; -- -- if (size != -1) { -- if (CG(multibyte)) { -- SCNG(script_org) = (unsigned char*)buf; -- SCNG(script_org_size) = size; -- SCNG(script_filtered) = NULL; -- -- zend_multibyte_set_filter(NULL TSRMLS_CC); -- -- if (SCNG(input_filter)) { -- if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) { -- zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected " -- "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding))); -- } -- buf = (char*)SCNG(script_filtered); -- size = SCNG(script_filtered_size); -- } -- } -- SCNG(yy_start) = (unsigned char *)buf - offset; -- yy_scan_buffer(buf, size TSRMLS_CC); -- } else { -- zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed"); -- } -- -- BEGIN(INITIAL); -- -- if (file_handle->opened_path) { -- file_path = file_handle->opened_path; -- } else { -- file_path = file_handle->filename; -- } -- -- zend_set_compiled_filename(file_path TSRMLS_CC); -- -- if (CG(start_lineno)) { -- CG(zend_lineno) = CG(start_lineno); -- CG(start_lineno) = 0; -- } else { -- CG(zend_lineno) = 1; -- } -- -- RESET_DOC_COMMENT(); -- CG(increment_lineno) = 0; -- return SUCCESS; --} --END_EXTERN_C() -- -- --ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSRMLS_DC) --{ -- zend_lex_state original_lex_state; -- zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array)); -- zend_op_array *original_active_op_array = CG(active_op_array); -- zend_op_array *retval=NULL; -- int compiler_result; -- zend_bool compilation_successful=0; -- znode retval_znode; -- zend_bool original_in_compilation = CG(in_compilation); -- -- retval_znode.op_type = IS_CONST; - INIT_PZVAL(&retval_znode.u.constant); - ZVAL_LONG(&retval_znode.u.constant, 1); - retval_znode.u.constant.type = IS_LONG; - retval_znode.u.constant.value.lval = 1; - Z_UNSET_ISREF(retval_znode.u.constant); - Z_SET_REFCOUNT(retval_znode.u.constant, 1); -- -- zend_save_lexical_state(&original_lex_state TSRMLS_CC); -- -- retval = op_array; /* success oriented */ -- -- if (open_file_for_scanning(file_handle TSRMLS_CC)==FAILURE) { -- if (type==ZEND_REQUIRE) { -- zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename TSRMLS_CC); -- zend_bailout(); -- } else { -- zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename TSRMLS_CC); -- } -- compilation_successful=0; -- } else { -- init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE TSRMLS_CC); -- CG(in_compilation) = 1; -- CG(active_op_array) = op_array; -- zend_stack_push(&CG(context_stack), (void *) &CG(context), sizeof(CG(context))); -- zend_init_compiler_context(TSRMLS_C); -- compiler_result = zendparse(TSRMLS_C); -- zend_do_return(&retval_znode, 0 TSRMLS_CC); -- CG(in_compilation) = original_in_compilation; -- if (compiler_result != 0) { /* parser error */ -- zend_bailout(); -- } -- compilation_successful=1; -- } -- -- if (retval) { -- CG(active_op_array) = original_active_op_array; -- if (compilation_successful) { -- pass_two(op_array TSRMLS_CC); -- zend_release_labels(0 TSRMLS_CC); -- } else { -- efree(op_array); -- retval = NULL; -- } -- } -- zend_restore_lexical_state(&original_lex_state TSRMLS_CC); -- return retval; --} -- -- --zend_op_array *compile_filename(int type, zval *filename TSRMLS_DC) --{ -- zend_file_handle file_handle; -- zval tmp; -- zend_op_array *retval; -- char *opened_path = NULL; -- -- if (filename->type != IS_STRING) { -- tmp = *filename; -- zval_copy_ctor(&tmp); -- convert_to_string(&tmp); -- filename = &tmp; -- } - file_handle.filename = Z_STRVAL_P(filename); - file_handle.filename = filename->value.str.val; -- file_handle.free_filename = 0; -- file_handle.type = ZEND_HANDLE_FILENAME; -- file_handle.opened_path = NULL; -- file_handle.handle.fp = NULL; -- -- retval = zend_compile_file(&file_handle, type TSRMLS_CC); -- if (retval && file_handle.handle.stream.handle) { -- int dummy = 1; -- -- if (!file_handle.opened_path) { - file_handle.opened_path = opened_path = estrndup(Z_STRVAL_P(filename), Z_STRLEN_P(filename)); - file_handle.opened_path = opened_path = estrndup(filename->value.str.val, filename->value.str.len); -- } -- -- zend_hash_add(&EG(included_files), file_handle.opened_path, strlen(file_handle.opened_path)+1, (void *)&dummy, sizeof(int), NULL); -- -- if (opened_path) { -- efree(opened_path); -- } -- } -- zend_destroy_file_handle(&file_handle TSRMLS_CC); -- -- if (filename==&tmp) { -- zval_dtor(&tmp); -- } -- return retval; --} -- --ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_DC) --{ -- char *buf; -- size_t size; -- - /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */ - Z_STRVAL_P(str) = str_erealloc(Z_STRVAL_P(str), Z_STRLEN_P(str) + ZEND_MMAP_AHEAD); - memset(Z_STRVAL_P(str) + Z_STRLEN_P(str), 0, ZEND_MMAP_AHEAD); - /* enforce two trailing NULLs for flex... */ - if (IS_INTERNED(str->value.str.val)) { - char *tmp = safe_emalloc(1, str->value.str.len, ZEND_MMAP_AHEAD); - memcpy(tmp, str->value.str.val, str->value.str.len + ZEND_MMAP_AHEAD); - str->value.str.val = tmp; - } else { - str->value.str.val = safe_erealloc(str->value.str.val, 1, str->value.str.len, ZEND_MMAP_AHEAD); - } - - memset(str->value.str.val + str->value.str.len, 0, ZEND_MMAP_AHEAD); -- -- SCNG(yy_in) = NULL; -- SCNG(yy_start) = NULL; -- - buf = Z_STRVAL_P(str); - size = Z_STRLEN_P(str); - buf = str->value.str.val; - size = str->value.str.len; -- -- if (CG(multibyte)) { -- SCNG(script_org) = (unsigned char*)buf; -- SCNG(script_org_size) = size; -- SCNG(script_filtered) = NULL; -- -- zend_multibyte_set_filter(zend_multibyte_get_internal_encoding(TSRMLS_C) TSRMLS_CC); -- -- if (SCNG(input_filter)) { -- if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) { -- zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected " -- "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding))); -- } -- buf = (char*)SCNG(script_filtered); -- size = SCNG(script_filtered_size); -- } -- } -- -- yy_scan_buffer(buf, size TSRMLS_CC); -- -- zend_set_compiled_filename(filename TSRMLS_CC); -- CG(zend_lineno) = 1; -- CG(increment_lineno) = 0; -- RESET_DOC_COMMENT(); -- return SUCCESS; --} -- -- --ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D) --{ -- size_t offset = SCNG(yy_cursor) - SCNG(yy_start); -- if (SCNG(input_filter)) { -- size_t original_offset = offset, length = 0; -- do { -- unsigned char *p = NULL; -- if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset TSRMLS_CC)) { -- return (size_t)-1; -- } -- efree(p); -- if (length > original_offset) { -- offset--; -- } else if (length < original_offset) { -- offset++; -- } -- } while (original_offset != length); -- } -- return offset; --} -- -- --zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC) --{ -- zend_lex_state original_lex_state; -- zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array)); -- zend_op_array *original_active_op_array = CG(active_op_array); -- zend_op_array *retval; -- zval tmp; -- int compiler_result; -- zend_bool original_in_compilation = CG(in_compilation); -- - if (Z_STRLEN_P(source_string)==0) { - if (source_string->value.str.len==0) { -- efree(op_array); -- return NULL; -- } -- -- CG(in_compilation) = 1; -- -- tmp = *source_string; -- zval_copy_ctor(&tmp); -- convert_to_string(&tmp); -- source_string = &tmp; -- -- zend_save_lexical_state(&original_lex_state TSRMLS_CC); -- if (zend_prepare_string_for_scanning(source_string, filename TSRMLS_CC)==FAILURE) { -- efree(op_array); -- retval = NULL; -- } else { -- zend_bool orig_interactive = CG(interactive); -- -- CG(interactive) = 0; -- init_op_array(op_array, ZEND_EVAL_CODE, INITIAL_OP_ARRAY_SIZE TSRMLS_CC); -- CG(interactive) = orig_interactive; -- CG(active_op_array) = op_array; -- zend_stack_push(&CG(context_stack), (void *) &CG(context), sizeof(CG(context))); -- zend_init_compiler_context(TSRMLS_C); -- BEGIN(ST_IN_SCRIPTING); -- compiler_result = zendparse(TSRMLS_C); -- -- if (SCNG(script_filtered)) { -- efree(SCNG(script_filtered)); -- SCNG(script_filtered) = NULL; -- } -- -- if (compiler_result != 0) { -- CG(active_op_array) = original_active_op_array; -- CG(unclean_shutdown)=1; -- destroy_op_array(op_array TSRMLS_CC); -- efree(op_array); -- retval = NULL; -- } else { -- zend_do_return(NULL, 0 TSRMLS_CC); -- CG(active_op_array) = original_active_op_array; -- pass_two(op_array TSRMLS_CC); -- zend_release_labels(0 TSRMLS_CC); -- retval = op_array; -- } -- } -- zend_restore_lexical_state(&original_lex_state TSRMLS_CC); -- zval_dtor(&tmp); -- CG(in_compilation) = original_in_compilation; -- return retval; --} -- -- --BEGIN_EXTERN_C() --int highlight_file(char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini TSRMLS_DC) --{ -- zend_lex_state original_lex_state; -- zend_file_handle file_handle; -- -- file_handle.type = ZEND_HANDLE_FILENAME; -- file_handle.filename = filename; -- file_handle.free_filename = 0; -- file_handle.opened_path = NULL; -- zend_save_lexical_state(&original_lex_state TSRMLS_CC); -- if (open_file_for_scanning(&file_handle TSRMLS_CC)==FAILURE) { -- zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename TSRMLS_CC); -- zend_restore_lexical_state(&original_lex_state TSRMLS_CC); -- return FAILURE; -- } -- zend_highlight(syntax_highlighter_ini TSRMLS_CC); -- if (SCNG(script_filtered)) { -- efree(SCNG(script_filtered)); -- SCNG(script_filtered) = NULL; -- } -- zend_destroy_file_handle(&file_handle TSRMLS_CC); -- zend_restore_lexical_state(&original_lex_state TSRMLS_CC); -- return SUCCESS; --} -- --int highlight_string(zval *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, char *str_name TSRMLS_DC) --{ -- zend_lex_state original_lex_state; -- zval tmp = *str; -- -- str = &tmp; -- zval_copy_ctor(str); -- zend_save_lexical_state(&original_lex_state TSRMLS_CC); -- if (zend_prepare_string_for_scanning(str, str_name TSRMLS_CC)==FAILURE) { -- zend_restore_lexical_state(&original_lex_state TSRMLS_CC); -- return FAILURE; -- } -- BEGIN(INITIAL); -- zend_highlight(syntax_highlighter_ini TSRMLS_CC); -- if (SCNG(script_filtered)) { -- efree(SCNG(script_filtered)); -- SCNG(script_filtered) = NULL; -- } -- zend_restore_lexical_state(&original_lex_state TSRMLS_CC); -- zval_dtor(str); -- return SUCCESS; --} -- --ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding TSRMLS_DC) --{ -- size_t length; -- unsigned char *new_yy_start; -- -- /* convert and set */ -- if (!SCNG(input_filter)) { -- if (SCNG(script_filtered)) { -- efree(SCNG(script_filtered)); -- SCNG(script_filtered) = NULL; -- } -- SCNG(script_filtered_size) = 0; -- length = SCNG(script_org_size); -- new_yy_start = SCNG(script_org); -- } else { -- if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) { -- zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected " -- "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding))); -- } -- SCNG(script_filtered) = new_yy_start; -- SCNG(script_filtered_size) = length; -- } -- -- SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start)); -- SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start)); -- SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start)); -- SCNG(yy_limit) = new_yy_start + (SCNG(yy_limit) - SCNG(yy_start)); -- -- SCNG(yy_start) = new_yy_start; --} -- -- --# define zend_copy_value(zendlval, yytext, yyleng) \ -- if (SCNG(output_filter)) { \ -- size_t sz = 0; \ - SCNG(output_filter)((unsigned char **)&Z_STRVAL_P(zendlval), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC); \ - Z_STRLEN_P(zendlval) = sz; \ - SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC); \ - zendlval->value.str.len = sz; \ -- } else { \ - Z_STRVAL_P(zendlval) = (char *) estrndup(yytext, yyleng); \ - Z_STRLEN_P(zendlval) = yyleng; \ - zendlval->value.str.val = (char *) estrndup(yytext, yyleng); \ - zendlval->value.str.len = yyleng; \ -- } -- --static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC) --{ -- register char *s, *t; -- char *end; -- -- ZVAL_STRINGL(zendlval, str, len, 1); -- -- /* convert escape sequences */ - s = t = Z_STRVAL_P(zendlval); - end = s+Z_STRLEN_P(zendlval); - s = t = zendlval->value.str.val; - end = s+zendlval->value.str.len; -- while (s= end) { -- *t++ = '\\'; -- break; -- } -- -- switch(*s) { -- case 'n': -- *t++ = '\n'; - Z_STRLEN_P(zendlval)--; - zendlval->value.str.len--; -- break; -- case 'r': -- *t++ = '\r'; - Z_STRLEN_P(zendlval)--; - zendlval->value.str.len--; -- break; -- case 't': -- *t++ = '\t'; - Z_STRLEN_P(zendlval)--; - zendlval->value.str.len--; -- break; -- case 'f': -- *t++ = '\f'; - Z_STRLEN_P(zendlval)--; - zendlval->value.str.len--; -- break; -- case 'v': -- *t++ = '\v'; - Z_STRLEN_P(zendlval)--; - zendlval->value.str.len--; -- break; -- case 'e': --#ifdef PHP_WIN32 -- *t++ = VK_ESCAPE; --#else -- *t++ = '\e'; --#endif - Z_STRLEN_P(zendlval)--; - zendlval->value.str.len--; -- break; -- case '"': -- case '`': -- if (*s != quote_type) { -- *t++ = '\\'; -- *t++ = *s; -- break; -- } -- case '\\': -- case '$': -- *t++ = *s; - Z_STRLEN_P(zendlval)--; - zendlval->value.str.len--; -- break; -- case 'x': -- case 'X': -- if (ZEND_IS_HEX(*(s+1))) { -- char hex_buf[3] = { 0, 0, 0 }; -- - Z_STRLEN_P(zendlval)--; /* for the 'x' */ - zendlval->value.str.len--; /* for the 'x' */ -- -- hex_buf[0] = *(++s); - Z_STRLEN_P(zendlval)--; - zendlval->value.str.len--; -- if (ZEND_IS_HEX(*(s+1))) { -- hex_buf[1] = *(++s); - Z_STRLEN_P(zendlval)--; - zendlval->value.str.len--; -- } -- *t++ = (char) strtol(hex_buf, NULL, 16); -- } else { -- *t++ = '\\'; -- *t++ = *s; -- } -- break; -- default: -- /* check for an octal */ -- if (ZEND_IS_OCT(*s)) { -- char octal_buf[4] = { 0, 0, 0, 0 }; -- -- octal_buf[0] = *s; - Z_STRLEN_P(zendlval)--; - zendlval->value.str.len--; -- if (ZEND_IS_OCT(*(s+1))) { -- octal_buf[1] = *(++s); - Z_STRLEN_P(zendlval)--; - zendlval->value.str.len--; -- if (ZEND_IS_OCT(*(s+1))) { -- octal_buf[2] = *(++s); - Z_STRLEN_P(zendlval)--; - zendlval->value.str.len--; -- } -- } -- *t++ = (char) strtol(octal_buf, NULL, 8); -- } else { -- *t++ = '\\'; -- *t++ = *s; -- } -- break; -- } -- } else { -- *t++ = *s; -- } -- -- if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) { -- CG(zend_lineno)++; -- } -- s++; -- } -- *t = 0; -- if (SCNG(output_filter)) { -- size_t sz = 0; - s = Z_STRVAL_P(zendlval); - SCNG(output_filter)((unsigned char **)&Z_STRVAL_P(zendlval), &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC); - Z_STRLEN_P(zendlval) = sz; - s = zendlval->value.str.val; - SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)s, (size_t)zendlval->value.str.len TSRMLS_CC); - zendlval->value.str.len = sz; -- efree(s); -- } --} -- -- --int lex_scan(zval *zendlval TSRMLS_DC) --{ --restart: -- SCNG(yy_text) = YYCURSOR; -- --yymore_restart: -- -- - #line 1001 "Zend/zend_language_scanner.c" -#line 1010 "Zend/zend_language_scanner.c" --{ -- YYCTYPE yych; -- unsigned int yyaccept = 0; -- if (YYGETCONDITION() < 5) { -- if (YYGETCONDITION() < 2) { -- if (YYGETCONDITION() < 1) { -- goto yyc_ST_IN_SCRIPTING; -- } else { -- goto yyc_ST_LOOKING_FOR_PROPERTY; -- } -- } else { -- if (YYGETCONDITION() < 3) { -- goto yyc_ST_BACKQUOTE; -- } else { -- if (YYGETCONDITION() < 4) { -- goto yyc_ST_DOUBLE_QUOTES; -- } else { -- goto yyc_ST_HEREDOC; -- } -- } -- } -- } else { -- if (YYGETCONDITION() < 7) { -- if (YYGETCONDITION() < 6) { -- goto yyc_ST_LOOKING_FOR_VARNAME; -- } else { -- goto yyc_ST_VAR_OFFSET; -- } -- } else { -- if (YYGETCONDITION() < 8) { -- goto yyc_INITIAL; -- } else { -- if (YYGETCONDITION() < 9) { -- goto yyc_ST_END_HEREDOC; -- } else { -- goto yyc_ST_NOWDOC; -- } -- } -- } -- } --/* *********************************** */ --yyc_INITIAL: -- { -- static const unsigned char yybm[] = { -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 128, 128, 0, 0, 128, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 128, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0, -- }; -- -- YYDEBUG(0, *YYCURSOR); -- YYFILL(8); -- yych = *YYCURSOR; -- if (yych != '<') goto yy4; -- YYDEBUG(2, *YYCURSOR); -- yyaccept = 0; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '?') { -- if (yych == '%') goto yy7; -- if (yych >= '?') goto yy5; -- } else { -- if (yych <= 'S') { -- if (yych >= 'S') goto yy9; -- } else { -- if (yych == 's') goto yy9; -- } -- } --yy3: -- YYDEBUG(3, *YYCURSOR); -- yyleng = YYCURSOR - SCNG(yy_text); - #line 1749 "Zend/zend_language_scanner.l" -#line 1807 "Zend/zend_language_scanner.l" -- { -- if (YYCURSOR > YYLIMIT) { -- return 0; -- } -- --inline_char_handler: -- -- while (1) { -- YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR); -- -- YYCURSOR = ptr ? ptr + 1 : YYLIMIT; -- -- if (YYCURSOR < YYLIMIT) { -- switch (*YYCURSOR) { -- case '?': -- if (CG(short_tags) || !strncasecmp((char*)YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */ -- break; -- } -- continue; -- case '%': -- if (CG(asp_tags)) { -- break; -- } -- continue; -- case 's': -- case 'S': -- /* Probably NOT an opening PHP