From: Pierrick Charron Date: Tue, 9 Oct 2018 05:26:55 +0000 (-0400) Subject: Merge branch 'PHP-7.2' into PHP-7.3 X-Git-Tag: php-7.3.0RC3~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=44d2c8c6ddb91663d2f84d621fde71eb3455d422;p=php Merge branch 'PHP-7.2' into PHP-7.3 --- 44d2c8c6ddb91663d2f84d621fde71eb3455d422 diff --cc NEWS index 4be6eb2ca3,08f6b37c6e..f3d6c0c71d --- a/NEWS +++ b/NEWS @@@ -59,35 -49,6 +59,37 @@@ PH . Fixed bug #66828 (iconv_mime_encode Q-encoding longer than it should be). (cmb) +- Opcache: + . Fixed bug #76711 (OPcache enabled triggers false-positive "Illegal string + offset"). (Dmitry) + +- PCRE: + . Upgrade PCRE2 to 10.32. (Anatol) + . Fixed bug #76909 (preg_match difference between 7.3 and < 7.3). (Anatol) + +- Standard: + . Fixed bug #75533 (array_reduce is slow when $carry is large array). + (Manabu Matsui) ++ . Fixed bug #76965 (INI_SCANNER_RAW doesn't strip trailing whitespace). ++ (Pierrick) + +- XMLRPC: + . Fixed bug #76886 (Can't build xmlrpc with expat). (Thomas Petazzoni, cmb) + +13 Sep 2018, PHP 7.3.0RC1 + +- Core: + . Fixed bug #76825 (Undefined symbols ___cpuid_count). (Laruence) + . Fixed bug #76820 (Z_COPYABLE invalid definition). (mvdwerve, cmb) + . Fixed bug #76510 (file_exists() stopped working for phar://). (cmb) + +- intl: + . Fixed bug #76829 (Incorrect validation of domain on idn_to_utf8() + function). (Anatol) + +- MBString: + . Updated to Oniguruma 6.9.0. (cmb) + - Opcache: . Fixed bug #76832 (ZendOPcache.MemoryBase periodically deleted by the OS). (Anatol) diff --cc Zend/zend_ini_scanner.c index cbf2ede93a,a77abdba6c..9ffae6941d --- a/Zend/zend_ini_scanner.c +++ b/Zend/zend_ini_scanner.c @@@ -538,7 -539,7 +538,7 @@@ yy6 yy8: YYDEBUG(8, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 627 "Zend/zend_ini_scanner.l" -#line 636 "Zend/zend_ini_scanner.l" ++#line 634 "Zend/zend_ini_scanner.l" { /* eat whitespace */ goto restart; @@@ -550,7 -551,7 +550,7 @@@ yy9 yy10: YYDEBUG(10, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 632 "Zend/zend_ini_scanner.l" -#line 641 "Zend/zend_ini_scanner.l" ++#line 639 "Zend/zend_ini_scanner.l" { SCNG(lineno)++; return END_OF_LINE; @@@ -616,7 -617,7 +616,7 @@@ yy14 ++YYCURSOR; YYDEBUG(15, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 555 "Zend/zend_ini_scanner.l" -#line 564 "Zend/zend_ini_scanner.l" ++#line 562 "Zend/zend_ini_scanner.l" { /* Disallow these chars outside option values */ return yytext[0]; } @@@ -745,10 -747,21 +745,10 @@@ yy28 yy31: YYDEBUG(31, *YYCURSOR); ++YYCURSOR; - YYFILL(2); - yych = *YYCURSOR; yy32: YYDEBUG(32, *YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy31; - } - if (yych >= '\v') goto yy35; -yy33: - YYDEBUG(33, *YYCURSOR); - ++YYCURSOR; -yy34: - YYDEBUG(34, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 637 "Zend/zend_ini_scanner.l" -#line 646 "Zend/zend_ini_scanner.l" ++#line 644 "Zend/zend_ini_scanner.l" { /* Comment */ BEGIN(INITIAL); SCNG(lineno)++; @@@ -1122,19 -1251,19 +1122,19 @@@ yy61 YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy74: - YYDEBUG(74, *YYCURSOR); +yy62: + YYDEBUG(62, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy73; + goto yy61; } - if (yych <= '"') goto yy75; - if (yych <= '$') goto yy94; - if (yych <= ';') goto yy75; - if (yych <= '\\') goto yy96; -yy75: - YYDEBUG(75, *YYCURSOR); + if (yych <= '"') goto yy63; + if (yych <= '$') goto yy82; + if (yych <= ';') goto yy63; + if (yych <= '\\') goto yy79; +yy63: + YYDEBUG(63, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 573 "Zend/zend_ini_scanner.l" -#line 582 "Zend/zend_ini_scanner.l" ++#line 580 "Zend/zend_ini_scanner.l" { /* Get rest as section/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } @@@ -1162,33 -1291,33 +1162,33 @@@ yy64 } } else { if (yych <= ';') { - if (yych == '\'') goto yy75; - if (yych <= ':') goto yy73; - goto yy75; + if (yych == '\'') goto yy63; + if (yych <= ':') goto yy61; + goto yy63; } else { - if (yych <= '[') goto yy73; - if (yych <= '\\') goto yy96; - if (yych <= ']') goto yy92; - goto yy73; + if (yych <= '[') goto yy61; + if (yych <= '\\') goto yy79; + if (yych <= ']') goto yy80; + goto yy61; } } -yy78: - YYDEBUG(78, *YYCURSOR); +yy66: + YYDEBUG(66, *YYCURSOR); ++YYCURSOR; -yy79: - YYDEBUG(79, *YYCURSOR); +yy67: + YYDEBUG(67, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 648 "Zend/zend_ini_scanner.l" -#line 657 "Zend/zend_ini_scanner.l" ++#line 655 "Zend/zend_ini_scanner.l" { return 0; } -#line 1315 "Zend/zend_ini_scanner.c" -yy80: - YYDEBUG(80, *YYCURSOR); +#line 1186 "Zend/zend_ini_scanner.c" +yy68: + YYDEBUG(68, *YYCURSOR); ++YYCURSOR; - YYDEBUG(81, *YYCURSOR); + YYDEBUG(69, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 577 "Zend/zend_ini_scanner.l" -#line 586 "Zend/zend_ini_scanner.l" ++#line 584 "Zend/zend_ini_scanner.l" { /* Double quoted '"' string start */ yy_push_state(ST_DOUBLE_QUOTES); return '"'; @@@ -1255,10 -1385,10 +1255,10 @@@ yy73 } } } -yy87: - YYDEBUG(87, *YYCURSOR); +yy75: + YYDEBUG(75, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 551 "Zend/zend_ini_scanner.l" -#line 560 "Zend/zend_ini_scanner.l" ++#line 558 "Zend/zend_ini_scanner.l" { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } @@@ -1284,18 -1414,18 +1284,18 @@@ yy76 } } else { if (yych <= ';') { - if (yych == '\'') goto yy90; - if (yych <= ':') goto yy73; + if (yych == '\'') goto yy78; + if (yych <= ':') goto yy61; } else { - if (yych <= '[') goto yy73; - if (yych <= '\\') goto yy96; - if (yych >= '^') goto yy73; + if (yych <= '[') goto yy61; + if (yych <= '\\') goto yy79; + if (yych >= '^') goto yy61; } } -yy90: - YYDEBUG(90, *YYCURSOR); +yy78: + YYDEBUG(78, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 547 "Zend/zend_ini_scanner.l" -#line 556 "Zend/zend_ini_scanner.l" ++#line 554 "Zend/zend_ini_scanner.l" { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } @@@ -1424,194 -1562,512 +1424,194 @@@ yy92 } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 1566 "Zend/zend_ini_scanner.c" +#line 1428 "Zend/zend_ini_scanner.c" } /* *********************************** */ -yyc_ST_RAW: +yyc_ST_SECTION_VALUE: { 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, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, + 132, 132, 132, 132, 132, 132, 132, 132, + 132, 140, 128, 132, 132, 128, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 132, + 140, 132, 128, 132, 192, 132, 132, 0, + 132, 132, 132, 132, 132, 132, 132, 132, + 180, 180, 180, 180, 180, 180, 180, 180, + 180, 180, 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, 192, 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(107, *YYCURSOR); - YYFILL(3); + YYDEBUG(94, *YYCURSOR); + YYFILL(2); yych = *YYCURSOR; - if (yych <= '\f') { - if (yych <= 0x08) { - if (yych >= 0x01) goto yy111; + if (yybm[0+yych] & 8) { + goto yy99; + } + if (yych <= '/') { + if (yych <= '"') { + if (yych <= '\f') { + if (yych <= 0x08) goto yy96; + if (yych <= '\n') goto yy101; + } else { + if (yych <= '\r') goto yy101; + if (yych >= '"') goto yy103; + } } else { - if (yych <= '\t') goto yy113; - if (yych <= '\n') goto yy114; - goto yy111; + if (yych <= '&') { + if (yych == '$') goto yy105; + } else { + if (yych <= '\'') goto yy106; + if (yych <= ',') goto yy96; + if (yych <= '.') goto yy107; + } } } else { - if (yych <= ' ') { - if (yych <= '\r') goto yy116; - if (yych <= 0x1F) goto yy111; - goto yy113; + if (yych <= '[') { + if (yych <= ';') { + if (yych <= '9') goto yy108; + if (yych >= ';') goto yy101; + } else { + if (yych <= '@') goto yy96; + if (yych <= 'Z') goto yy111; + } } else { - if (yych == ';') goto yy117; - goto yy111; + if (yych <= '^') { + if (yych <= '\\') goto yy114; + if (yych <= ']') goto yy115; + } else { + if (yych == '`') goto yy96; + if (yych <= 'z') goto yy111; + } } } - YYDEBUG(109, *YYCURSOR); +yy96: + YYDEBUG(96, *YYCURSOR); + yyaccept = 0; + YYMARKER = ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; +yy97: + YYDEBUG(97, *YYCURSOR); + if (yybm[0+yych] & 4) { + goto yy96; + } + if (yych <= '"') goto yy98; + if (yych <= '$') goto yy118; + if (yych <= ';') goto yy98; + if (yych <= '\\') goto yy114; +yy98: + YYDEBUG(98, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); - #line 573 "Zend/zend_ini_scanner.l" ++#line 580 "Zend/zend_ini_scanner.l" + { /* Get rest as section/offset value */ + RETURN_TOKEN(TC_STRING, yytext, yyleng); +} +#line 1532 "Zend/zend_ini_scanner.c" +yy99: + YYDEBUG(99, *YYCURSOR); + yyaccept = 0; + YYMARKER = ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; + YYDEBUG(100, *YYCURSOR); + if (yybm[0+yych] & 8) { + goto yy99; + } + if (yych <= '$') { + if (yych <= '\r') { + if (yych <= 0x08) goto yy96; + if (yych <= '\n') goto yy98; + if (yych <= '\f') goto yy96; + goto yy98; + } else { + if (yych == '"') goto yy103; + if (yych <= '#') goto yy96; + goto yy118; + } + } else { + if (yych <= ';') { + if (yych == '\'') goto yy98; + if (yych <= ':') goto yy96; + goto yy98; + } else { + if (yych <= '[') goto yy96; + if (yych <= '\\') goto yy114; + if (yych <= ']') goto yy98; + goto yy96; + } + } +yy101: + YYDEBUG(101, *YYCURSOR); ++YYCURSOR; - YYDEBUG(110, *YYCURSOR); +yy102: + YYDEBUG(102, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 648 "Zend/zend_ini_scanner.l" -#line 652 "Zend/zend_ini_scanner.l" - { /* End of option value (if EOF is reached before EOL */ - BEGIN(INITIAL); - return END_OF_LINE; ++#line 655 "Zend/zend_ini_scanner.l" + { + return 0; } -#line 1635 "Zend/zend_ini_scanner.c" -yy111: - YYDEBUG(111, *YYCURSOR); +#line 1576 "Zend/zend_ini_scanner.c" +yy103: + YYDEBUG(103, *YYCURSOR); ++YYCURSOR; -yy112: - YYDEBUG(112, *YYCURSOR); + YYDEBUG(104, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 577 "Zend/zend_ini_scanner.l" -#line 502 "Zend/zend_ini_scanner.l" - { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ - unsigned char *sc = NULL; - EAT_LEADING_WHITESPACE(); - while (YYCURSOR < YYLIMIT) { - switch (*YYCURSOR) { - case '\n': - case '\r': - goto end_raw_value_chars; - break; - case ';': - if (sc == NULL) { - sc = YYCURSOR; - } - YYCURSOR++; - break; - case '"': - if (yytext[0] == '"') { - sc = NULL; - } - YYCURSOR++; - break; - default: - YYCURSOR++; - break; ++#line 584 "Zend/zend_ini_scanner.l" + { /* Double quoted '"' string start */ + yy_push_state(ST_DOUBLE_QUOTES); + return '"'; +} +#line 1587 "Zend/zend_ini_scanner.c" +yy105: + YYDEBUG(105, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '\\') { + if (yych <= 0x00) goto yy102; + if (yych <= '[') goto yy96; + goto yy120; + } else { + if (yych == '{') goto yy122; + goto yy96; } - } -end_raw_value_chars: - if (sc) { - yyleng = sc - SCNG(yy_text); - } else { - yyleng = YYCURSOR - SCNG(yy_text); - } - - EAT_TRAILING_WHITESPACE(); - - /* Eat leading and trailing double quotes */ - if (yyleng > 1 && yytext[0] == '"' && yytext[yyleng - 1] == '"') { - SCNG(yy_text)++; - yyleng = yyleng - 2; - } - - RETURN_TOKEN(TC_RAW, yytext, yyleng); -} -#line 1686 "Zend/zend_ini_scanner.c" -yy113: - YYDEBUG(113, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '\r') { - if (yych <= 0x08) goto yy112; - if (yych <= '\n') goto yy119; - if (yych <= '\f') goto yy112; - goto yy119; - } else { - if (yych <= ' ') { - if (yych <= 0x1F) goto yy112; - goto yy119; - } else { - if (yych == ';') goto yy119; - goto yy112; - } - } -yy114: - YYDEBUG(114, *YYCURSOR); - ++YYCURSOR; -yy115: - YYDEBUG(115, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 550 "Zend/zend_ini_scanner.l" - { /* End of option value */ - BEGIN(INITIAL); - SCNG(lineno)++; - return END_OF_LINE; -} -#line 1716 "Zend/zend_ini_scanner.c" -yy116: - YYDEBUG(116, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy114; - goto yy115; -yy117: - YYDEBUG(117, *YYCURSOR); - yych = *++YYCURSOR; - goto yy122; -yy118: - YYDEBUG(118, *YYCURSOR); - ++YYCURSOR; - YYFILL(2); - yych = *YYCURSOR; -yy119: - YYDEBUG(119, *YYCURSOR); - if (yybm[0+yych] & 64) { - goto yy118; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy120; - if (yych <= '\n') goto yy114; - } else { - if (yych <= '\r') goto yy116; - if (yych == ';') goto yy121; - } -yy120: - YYDEBUG(120, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 636 "Zend/zend_ini_scanner.l" - { - /* eat whitespace */ - goto restart; -} -#line 1751 "Zend/zend_ini_scanner.c" -yy121: - YYDEBUG(121, *YYCURSOR); - ++YYCURSOR; - YYFILL(2); - yych = *YYCURSOR; -yy122: - YYDEBUG(122, *YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy121; - } - if (yych >= '\v') goto yy125; -yy123: - YYDEBUG(123, *YYCURSOR); - ++YYCURSOR; -yy124: - YYDEBUG(124, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 646 "Zend/zend_ini_scanner.l" - { /* Comment */ - BEGIN(INITIAL); - SCNG(lineno)++; - return END_OF_LINE; -} -#line 1775 "Zend/zend_ini_scanner.c" -yy125: - YYDEBUG(125, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy123; - goto yy124; - } -/* *********************************** */ -yyc_ST_SECTION_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, 0, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 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(126, *YYCURSOR); - YYFILL(1); - yych = *YYCURSOR; - if (yybm[0+yych] & 64) { - goto yy128; - } - if (yych <= '\r') goto yy131; - goto yy133; -yy128: - YYDEBUG(128, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(129, *YYCURSOR); - if (yybm[0+yych] & 64) { - goto yy128; - } - YYDEBUG(130, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 546 "Zend/zend_ini_scanner.l" - { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ - RETURN_TOKEN(TC_RAW, yytext, yyleng); -} -#line 1842 "Zend/zend_ini_scanner.c" -yy131: - YYDEBUG(131, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(132, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 657 "Zend/zend_ini_scanner.l" - { - return 0; -} -#line 1852 "Zend/zend_ini_scanner.c" -yy133: - YYDEBUG(133, *YYCURSOR); - ++YYCURSOR; - YYFILL(2); - yych = *YYCURSOR; - YYDEBUG(134, *YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy133; - } - if (yych <= 0x08) goto yy135; - if (yych <= '\n') goto yy136; - if (yych == '\r') goto yy137; -yy135: - YYDEBUG(135, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 427 "Zend/zend_ini_scanner.l" - { /* End of section */ - BEGIN(INITIAL); - SCNG(lineno)++; - return ']'; -} -#line 1874 "Zend/zend_ini_scanner.c" -yy136: - YYDEBUG(136, *YYCURSOR); - yych = *++YYCURSOR; - goto yy135; -yy137: - YYDEBUG(137, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy136; - goto yy135; - } -/* *********************************** */ -yyc_ST_SECTION_VALUE: - { - static const unsigned char yybm[] = { - 132, 132, 132, 132, 132, 132, 132, 132, - 132, 140, 128, 132, 132, 128, 132, 132, - 132, 132, 132, 132, 132, 132, 132, 132, - 132, 132, 132, 132, 132, 132, 132, 132, - 140, 132, 128, 132, 192, 132, 132, 0, - 132, 132, 132, 132, 132, 132, 132, 132, - 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 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, 192, 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(138, *YYCURSOR); - YYFILL(2); - yych = *YYCURSOR; - if (yybm[0+yych] & 8) { - goto yy143; - } - if (yych <= '/') { - if (yych <= '"') { - if (yych <= '\f') { - if (yych <= 0x08) goto yy140; - if (yych <= '\n') goto yy145; - } else { - if (yych <= '\r') goto yy145; - if (yych >= '"') goto yy147; - } - } else { - if (yych <= '&') { - if (yych == '$') goto yy149; - } else { - if (yych <= '\'') goto yy150; - if (yych <= ',') goto yy140; - if (yych <= '.') goto yy151; - } - } - } else { - if (yych <= '[') { - if (yych <= ';') { - if (yych <= '9') goto yy152; - if (yych >= ';') goto yy145; - } else { - if (yych <= '@') goto yy140; - if (yych <= 'Z') goto yy155; - } - } else { - if (yych <= '^') { - if (yych <= '\\') goto yy158; - if (yych <= ']') goto yy159; - } else { - if (yych == '`') goto yy140; - if (yych <= 'z') goto yy155; - } - } - } -yy140: - YYDEBUG(140, *YYCURSOR); - yyaccept = 0; - YYMARKER = ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; -yy141: - YYDEBUG(141, *YYCURSOR); - if (yybm[0+yych] & 4) { - goto yy140; - } - if (yych <= '"') goto yy142; - if (yych <= '$') goto yy162; - if (yych <= ';') goto yy142; - if (yych <= '\\') goto yy164; -yy142: - YYDEBUG(142, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 582 "Zend/zend_ini_scanner.l" - { /* Get rest as section/offset value */ - RETURN_TOKEN(TC_STRING, yytext, yyleng); -} -#line 1987 "Zend/zend_ini_scanner.c" -yy143: - YYDEBUG(143, *YYCURSOR); - yyaccept = 0; - YYMARKER = ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(144, *YYCURSOR); - if (yybm[0+yych] & 8) { - goto yy143; - } - if (yych <= '$') { - if (yych <= '\r') { - if (yych <= 0x08) goto yy140; - if (yych <= '\n') goto yy142; - if (yych <= '\f') goto yy140; - goto yy142; - } else { - if (yych == '"') goto yy147; - if (yych <= '#') goto yy140; - goto yy162; - } - } else { - if (yych <= ';') { - if (yych == '\'') goto yy142; - if (yych <= ':') goto yy140; - goto yy142; - } else { - if (yych <= '[') goto yy140; - if (yych <= '\\') goto yy164; - if (yych <= ']') goto yy142; - goto yy140; - } - } -yy145: - YYDEBUG(145, *YYCURSOR); - ++YYCURSOR; -yy146: - YYDEBUG(146, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 657 "Zend/zend_ini_scanner.l" - { - return 0; -} -#line 2031 "Zend/zend_ini_scanner.c" -yy147: - YYDEBUG(147, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(148, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 586 "Zend/zend_ini_scanner.l" - { /* Double quoted '"' string start */ - yy_push_state(ST_DOUBLE_QUOTES); - return '"'; -} -#line 2042 "Zend/zend_ini_scanner.c" -yy149: - YYDEBUG(149, *YYCURSOR); +yy106: + YYDEBUG(106, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '\\') { - if (yych <= 0x00) goto yy146; - if (yych <= '[') goto yy140; - goto yy165; - } else { - if (yych == '{') goto yy167; - goto yy140; - } -yy150: - YYDEBUG(150, *YYCURSOR); - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 128) { - goto yy169; + goto yy124; } - goto yy146; -yy151: - YYDEBUG(151, *YYCURSOR); + goto yy102; +yy107: + YYDEBUG(107, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy141; - if (yych <= '9') goto yy171; - goto yy141; -yy152: - YYDEBUG(152, *YYCURSOR); - yyaccept = 2; + if (yych <= '/') goto yy97; + if (yych <= '9') goto yy126; + goto yy97; +yy108: + YYDEBUG(108, *YYCURSOR); + yyaccept = 1; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; @@@ -1645,10 -2101,10 +1645,10 @@@ } } } -yy154: - YYDEBUG(154, *YYCURSOR); +yy110: + YYDEBUG(110, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 551 "Zend/zend_ini_scanner.l" -#line 560 "Zend/zend_ini_scanner.l" ++#line 558 "Zend/zend_ini_scanner.l" { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } @@@ -1674,18 -2130,18 +1674,18 @@@ yy111 } } else { if (yych <= ';') { - if (yych == '\'') goto yy157; - if (yych <= ':') goto yy140; + if (yych == '\'') goto yy113; + if (yych <= ':') goto yy96; } else { - if (yych <= '[') goto yy140; - if (yych <= '\\') goto yy164; - if (yych >= '^') goto yy140; + if (yych <= '[') goto yy96; + if (yych <= '\\') goto yy114; + if (yych >= '^') goto yy96; } } -yy157: - YYDEBUG(157, *YYCURSOR); +yy113: + YYDEBUG(113, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 547 "Zend/zend_ini_scanner.l" -#line 556 "Zend/zend_ini_scanner.l" ++#line 554 "Zend/zend_ini_scanner.l" { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } @@@ -1953,26 -2417,26 +1953,26 @@@ yyc_ST_VALUE case 'v': case 'w': case 'x': - case 'z': goto yy204; + case 'z': goto yy160; case 'F': - case 'f': goto yy207; + case 'f': goto yy163; case 'N': - case 'n': goto yy208; + case 'n': goto yy164; case 'O': - case 'o': goto yy209; + case 'o': goto yy165; case 'T': - case 't': goto yy210; + case 't': goto yy166; case 'Y': - case 'y': goto yy211; - default: goto yy181; + case 'y': goto yy167; + default: goto yy136; } -yy179: - YYDEBUG(179, *YYCURSOR); +yy134: + YYDEBUG(134, *YYCURSOR); ++YYCURSOR; -yy180: - YYDEBUG(180, *YYCURSOR); +yy135: + YYDEBUG(135, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 643 "Zend/zend_ini_scanner.l" -#line 652 "Zend/zend_ini_scanner.l" ++#line 650 "Zend/zend_ini_scanner.l" { /* End of option value (if EOF is reached before EOL */ BEGIN(INITIAL); return END_OF_LINE; @@@ -1984,56 -2448,57 +1984,56 @@@ yy136 YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy182: - YYDEBUG(182, *YYCURSOR); +yy137: + YYDEBUG(137, *YYCURSOR); if (yybm[0+yych] & 2) { - goto yy181; + goto yy136; } - if (yych <= '"') goto yy183; - if (yych <= '$') goto yy212; -yy183: - YYDEBUG(183, *YYCURSOR); + if (yych <= '"') goto yy138; + if (yych <= '$') goto yy168; +yy138: + YYDEBUG(138, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 569 "Zend/zend_ini_scanner.l" -#line 578 "Zend/zend_ini_scanner.l" ++#line 576 "Zend/zend_ini_scanner.l" { /* Get everything else as option/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 2466 "Zend/zend_ini_scanner.c" -yy184: - YYDEBUG(184, *YYCURSOR); - yyaccept = 1; - YYMARKER = ++YYCURSOR; +#line 2002 "Zend/zend_ini_scanner.c" +yy139: + YYDEBUG(139, *YYCURSOR); + ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; - YYDEBUG(185, *YYCURSOR); + YYDEBUG(140, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy184; + goto yy139; } if (yych <= '\r') { - if (yych <= 0x08) goto yy186; - if (yych <= '\n') goto yy187; - if (yych >= '\r') goto yy189; + if (yych <= 0x08) goto yy141; + if (yych <= '\n') goto yy142; + if (yych >= '\r') goto yy144; } else { if (yych <= '"') { - if (yych >= '"') goto yy193; + if (yych >= '"') goto yy148; } else { - if (yych == ';') goto yy214; + if (yych == ';') goto yy156; } } -yy186: - YYDEBUG(186, *YYCURSOR); +yy141: + YYDEBUG(141, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 623 "Zend/zend_ini_scanner.l" -#line 632 "Zend/zend_ini_scanner.l" ++#line 630 "Zend/zend_ini_scanner.l" { RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng); } -#line 2495 "Zend/zend_ini_scanner.c" -yy187: - YYDEBUG(187, *YYCURSOR); +#line 2030 "Zend/zend_ini_scanner.c" +yy142: + YYDEBUG(142, *YYCURSOR); ++YYCURSOR; -yy188: - YYDEBUG(188, *YYCURSOR); +yy143: + YYDEBUG(143, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 541 "Zend/zend_ini_scanner.l" -#line 550 "Zend/zend_ini_scanner.l" ++#line 548 "Zend/zend_ini_scanner.l" { /* End of option value */ BEGIN(INITIAL); SCNG(lineno)++; @@@ -2050,22 -2515,22 +2050,22 @@@ yy145 ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(191, *YYCURSOR); - if (yych == '\t') goto yy190; - if (yych == ' ') goto yy190; - YYDEBUG(192, *YYCURSOR); + YYDEBUG(146, *YYCURSOR); + if (yych == '\t') goto yy145; + if (yych == ' ') goto yy145; + YYDEBUG(147, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 559 "Zend/zend_ini_scanner.l" -#line 568 "Zend/zend_ini_scanner.l" ++#line 566 "Zend/zend_ini_scanner.l" { /* Boolean operators */ return yytext[0]; } -#line 2528 "Zend/zend_ini_scanner.c" -yy193: - YYDEBUG(193, *YYCURSOR); +#line 2063 "Zend/zend_ini_scanner.c" +yy148: + YYDEBUG(148, *YYCURSOR); ++YYCURSOR; - YYDEBUG(194, *YYCURSOR); + YYDEBUG(149, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 577 "Zend/zend_ini_scanner.l" -#line 586 "Zend/zend_ini_scanner.l" ++#line 584 "Zend/zend_ini_scanner.l" { /* Double quoted '"' string start */ yy_push_state(ST_DOUBLE_QUOTES); return '"'; @@@ -2141,31 -2607,25 +2141,31 @@@ yy153 } } } -yy200: - YYDEBUG(200, *YYCURSOR); +yy155: + YYDEBUG(155, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 551 "Zend/zend_ini_scanner.l" -#line 560 "Zend/zend_ini_scanner.l" ++#line 558 "Zend/zend_ini_scanner.l" { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 2618 "Zend/zend_ini_scanner.c" -yy201: - YYDEBUG(201, *YYCURSOR); - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - goto yy215; -yy202: - YYDEBUG(202, *YYCURSOR); +#line 2152 "Zend/zend_ini_scanner.c" +yy156: + YYDEBUG(156, *YYCURSOR); ++YYCURSOR; - YYDEBUG(203, *YYCURSOR); + YYFILL(2); + yych = *YYCURSOR; + YYDEBUG(157, *YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy156; + } + if (yych <= '\n') goto yy177; + goto yy179; +yy158: + YYDEBUG(158, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(159, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 563 "Zend/zend_ini_scanner.l" -#line 572 "Zend/zend_ini_scanner.l" ++#line 570 "Zend/zend_ini_scanner.l" { /* Make = used in option value to trigger error */ yyless(0); BEGIN(INITIAL); @@@ -2215,10 -2675,10 +2215,10 @@@ yy160 } } } -yy206: - YYDEBUG(206, *YYCURSOR); +yy162: + YYDEBUG(162, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 547 "Zend/zend_ini_scanner.l" -#line 556 "Zend/zend_ini_scanner.l" ++#line 554 "Zend/zend_ini_scanner.l" { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } @@@ -2621,13 -3101,13 +2621,13 @@@ yy175 } } } -yy223: - YYDEBUG(223, *YYCURSOR); +yy177: + YYDEBUG(177, *YYCURSOR); ++YYCURSOR; -yy224: - YYDEBUG(224, *YYCURSOR); +yy178: + YYDEBUG(178, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 637 "Zend/zend_ini_scanner.l" -#line 646 "Zend/zend_ini_scanner.l" ++#line 644 "Zend/zend_ini_scanner.l" { /* Comment */ BEGIN(INITIAL); SCNG(lineno)++; @@@ -3316,266 -3796,47 +3316,266 @@@ yy202 } } else { if (yych <= ' ') { - if (yych <= '\r') goto yy249; - if (yych <= 0x1F) goto yy182; - goto yy250; + if (yych <= '\r') goto yy203; + if (yych <= 0x1F) goto yy137; + goto yy204; + } else { + if (yych <= '"') goto yy203; + if (yych <= '%') goto yy137; + } + } + } else { + if (yych <= ']') { + if (yych <= ';') { + if (yych <= ':') goto yy137; + } else { + if (yych != '=') goto yy137; + } + } else { + if (yych <= '|') { + if (yych <= '^') goto yy203; + if (yych <= '{') goto yy137; } else { - if (yych <= '"') goto yy249; - if (yych <= '%') goto yy182; + if (yych != '~') goto yy137; + } + } + } +yy203: + YYDEBUG(203, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 477 "Zend/zend_ini_scanner.l" + { + RETURN_TOKEN(NULL_NULL, "", 0); +} +#line 3351 "Zend/zend_ini_scanner.c" +yy204: + YYDEBUG(204, *YYCURSOR); + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; + YYDEBUG(205, *YYCURSOR); + if (yych == '\t') goto yy204; + if (yych == ' ') goto yy204; + goto yy203; + } +/* *********************************** */ +yyc_ST_SECTION_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, 0, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, + 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(206, *YYCURSOR); + YYFILL(1); + yych = *YYCURSOR; + if (yybm[0+yych] & 64) { + goto yy208; + } + if (yych <= '\r') goto yy211; + goto yy213; +yy208: + YYDEBUG(208, *YYCURSOR); + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; + YYDEBUG(209, *YYCURSOR); + if (yybm[0+yych] & 64) { + goto yy208; + } + YYDEBUG(210, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); - #line 537 "Zend/zend_ini_scanner.l" ++#line 544 "Zend/zend_ini_scanner.l" + { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ + RETURN_TOKEN(TC_RAW, yytext, yyleng); +} +#line 3422 "Zend/zend_ini_scanner.c" +yy211: + YYDEBUG(211, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(212, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); - #line 648 "Zend/zend_ini_scanner.l" ++#line 655 "Zend/zend_ini_scanner.l" + { + return 0; +} +#line 3432 "Zend/zend_ini_scanner.c" +yy213: + YYDEBUG(213, *YYCURSOR); + ++YYCURSOR; + YYFILL(2); + yych = *YYCURSOR; + YYDEBUG(214, *YYCURSOR); + if (yybm[0+yych] & 128) { + goto yy213; + } + if (yych <= 0x08) goto yy215; + if (yych <= '\n') goto yy216; + if (yych == '\r') goto yy217; +yy215: + YYDEBUG(215, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 425 "Zend/zend_ini_scanner.l" + { /* End of section */ + BEGIN(INITIAL); + SCNG(lineno)++; + return ']'; +} +#line 3454 "Zend/zend_ini_scanner.c" +yy216: + YYDEBUG(216, *YYCURSOR); + ++YYCURSOR; + goto yy215; +yy217: + YYDEBUG(217, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy216; + goto yy215; + } +/* *********************************** */ +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(218, *YYCURSOR); + YYFILL(2); + yych = *YYCURSOR; + if (yych == '"') goto yy222; + if (yych == '$') goto yy225; + YYDEBUG(220, *YYCURSOR); + ++YYCURSOR; +yy221: + YYDEBUG(221, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); - #line 587 "Zend/zend_ini_scanner.l" ++#line 594 "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; } - } - } else { - if (yych <= ']') { - if (yych <= ';') { - if (yych <= ':') goto yy182; - } else { - if (yych != '=') goto yy182; + break; + case '$': + if (*YYCURSOR == '{') { + break; } - } else { - if (yych <= '|') { - if (yych <= '^') goto yy249; - if (yych <= '{') goto yy182; - } else { - if (yych != '~') goto yy182; + continue; + case '\\': + if (YYCURSOR < YYLIMIT && *YYCURSOR != '"') { + YYCURSOR++; } - } + /* fall through */ + default: + continue; } -yy249: - YYDEBUG(249, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 479 "Zend/zend_ini_scanner.l" - { - RETURN_TOKEN(NULL_NULL, "", 0); + + YYCURSOR--; + break; + } + + yyleng = YYCURSOR - SCNG(yy_text); + + zend_ini_escape_string(ini_lval, yytext, yyleng, '"'); + return TC_QUOTED_STRING; } -#line 3831 "Zend/zend_ini_scanner.c" -yy250: - YYDEBUG(250, *YYCURSOR); +#line 3548 "Zend/zend_ini_scanner.c" +yy222: + YYDEBUG(222, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(251, *YYCURSOR); - if (yych == '\t') goto yy250; - if (yych == ' ') goto yy250; - goto yy249; + YYDEBUG(223, *YYCURSOR); + if (yybm[0+yych] & 128) { + goto yy222; + } + YYDEBUG(224, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); - #line 582 "Zend/zend_ini_scanner.l" ++#line 589 "Zend/zend_ini_scanner.l" + { /* Double quoted '"' string ends */ + yy_pop_state(); + return '"'; +} +#line 3565 "Zend/zend_ini_scanner.c" +yy225: + YYDEBUG(225, *YYCURSOR); + yych = *++YYCURSOR; + if (yych != '{') goto yy221; + YYDEBUG(226, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(227, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 449 "Zend/zend_ini_scanner.l" + { /* Variable start */ + yy_push_state(ST_VARNAME); + return TC_DOLLAR_CURLY; +} +#line 3579 "Zend/zend_ini_scanner.c" } /* *********************************** */ yyc_ST_VARNAME: @@@ -3643,13 -3904,13 +3643,13 @@@ yy230 RETURN_TOKEN(TC_VARNAME, yytext, yyleng); } -#line 3908 "Zend/zend_ini_scanner.c" -yy257: - YYDEBUG(257, *YYCURSOR); +#line 3647 "Zend/zend_ini_scanner.c" +yy233: + YYDEBUG(233, *YYCURSOR); ++YYCURSOR; - YYDEBUG(258, *YYCURSOR); + YYDEBUG(234, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); - #line 648 "Zend/zend_ini_scanner.l" -#line 657 "Zend/zend_ini_scanner.l" ++#line 655 "Zend/zend_ini_scanner.l" { return 0; } @@@ -3664,212 -3925,9 +3664,219 @@@ yy235 yy_pop_state(); return '}'; } -#line 3929 "Zend/zend_ini_scanner.c" +#line 3668 "Zend/zend_ini_scanner.c" + } +/* *********************************** */ +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(237, *YYCURSOR); + YYFILL(3); + yych = *YYCURSOR; + if (yych <= '\f') { + if (yych <= 0x08) { + if (yych >= 0x01) goto yy241; + } else { + if (yych <= '\t') goto yy243; + if (yych <= '\n') goto yy244; + goto yy241; + } + } else { + if (yych <= ' ') { + if (yych <= '\r') goto yy246; + if (yych <= 0x1F) goto yy241; + goto yy243; + } else { + if (yych == ';') goto yy247; + goto yy241; + } + } + YYDEBUG(239, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(240, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); - #line 643 "Zend/zend_ini_scanner.l" ++#line 650 "Zend/zend_ini_scanner.l" + { /* End of option value (if EOF is reached before EOL */ + BEGIN(INITIAL); + return END_OF_LINE; +} +#line 3737 "Zend/zend_ini_scanner.c" +yy241: + YYDEBUG(241, *YYCURSOR); + ++YYCURSOR; +yy242: + YYDEBUG(242, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 500 "Zend/zend_ini_scanner.l" + { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ + unsigned char *sc = NULL; ++ EAT_LEADING_WHITESPACE(); + while (YYCURSOR < YYLIMIT) { + switch (*YYCURSOR) { + case '\n': + case '\r': + goto end_raw_value_chars; + break; + case ';': + if (sc == NULL) { + sc = YYCURSOR; + } - /* no break */ ++ YYCURSOR++; ++ break; ++ case '"': ++ if (yytext[0] == '"') { ++ sc = NULL; ++ } ++ YYCURSOR++; ++ break; + default: + YYCURSOR++; + break; + } + } +end_raw_value_chars: - yyleng = YYCURSOR - SCNG(yy_text); - - /* Eat trailing semicolons */ - while (yytext[yyleng - 1] == ';') { - yyleng--; ++ if (sc) { ++ yyleng = sc - SCNG(yy_text); ++ } else { ++ yyleng = YYCURSOR - SCNG(yy_text); + } + ++ EAT_TRAILING_WHITESPACE(); ++ + /* Eat leading and trailing double quotes */ + if (yyleng > 1 && 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 3781 "Zend/zend_ini_scanner.c" ++#line 3788 "Zend/zend_ini_scanner.c" +yy243: + YYDEBUG(243, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '\r') { + if (yych <= 0x08) goto yy242; + if (yych <= '\n') goto yy250; + if (yych <= '\f') goto yy242; + goto yy250; + } else { + if (yych <= ' ') { + if (yych <= 0x1F) goto yy242; + goto yy250; + } else { + if (yych == ';') goto yy250; + goto yy242; + } + } +yy244: + YYDEBUG(244, *YYCURSOR); + ++YYCURSOR; +yy245: + YYDEBUG(245, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); - #line 541 "Zend/zend_ini_scanner.l" ++#line 548 "Zend/zend_ini_scanner.l" + { /* End of option value */ + BEGIN(INITIAL); + SCNG(lineno)++; + return END_OF_LINE; +} - #line 3811 "Zend/zend_ini_scanner.c" ++#line 3818 "Zend/zend_ini_scanner.c" +yy246: + YYDEBUG(246, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy244; + goto yy245; +yy247: + YYDEBUG(247, *YYCURSOR); + ++YYCURSOR; + YYFILL(2); + yych = *YYCURSOR; + YYDEBUG(248, *YYCURSOR); + if (yybm[0+yych] & 64) { + goto yy247; + } + if (yych <= '\n') goto yy252; + goto yy254; +yy249: + YYDEBUG(249, *YYCURSOR); + ++YYCURSOR; + YYFILL(2); + yych = *YYCURSOR; +yy250: + YYDEBUG(250, *YYCURSOR); + if (yybm[0+yych] & 128) { + goto yy249; + } + if (yych <= '\f') { + if (yych <= 0x08) goto yy251; + if (yych <= '\n') goto yy244; + } else { + if (yych <= '\r') goto yy246; + if (yych == ';') goto yy247; + } +yy251: + YYDEBUG(251, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); - #line 627 "Zend/zend_ini_scanner.l" ++#line 634 "Zend/zend_ini_scanner.l" + { + /* eat whitespace */ + goto restart; +} - #line 3853 "Zend/zend_ini_scanner.c" ++#line 3860 "Zend/zend_ini_scanner.c" +yy252: + YYDEBUG(252, *YYCURSOR); + ++YYCURSOR; +yy253: + YYDEBUG(253, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); - #line 637 "Zend/zend_ini_scanner.l" ++#line 644 "Zend/zend_ini_scanner.l" + { /* Comment */ + BEGIN(INITIAL); + SCNG(lineno)++; + return END_OF_LINE; +} - #line 3866 "Zend/zend_ini_scanner.c" ++#line 3873 "Zend/zend_ini_scanner.c" +yy254: + YYDEBUG(254, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy252; + goto yy253; } } - #line 652 "Zend/zend_ini_scanner.l" -#line 661 "Zend/zend_ini_scanner.l" ++#line 659 "Zend/zend_ini_scanner.l" }