From: Brian Shire Date: Tue, 19 May 2009 15:59:36 +0000 (+0000) Subject: MFH: Fix bug #47859 parse_ini_file() does not like asterisk (*) in key in the beginni... X-Git-Tag: php-5.3.0RC3~207 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c80f0bf76928385c49a73bd855fdc603fdffb1ec;p=php MFH: Fix bug #47859 parse_ini_file() does not like asterisk (*) in key in the beginning, and allow [*_-] chars at start of ini labels --- diff --git a/Zend/zend_ini_scanner.c b/Zend/zend_ini_scanner.c index 468e8d51cc..aa3c552ab3 100644 --- a/Zend/zend_ini_scanner.c +++ b/Zend/zend_ini_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.6.dev on Mon Feb 2 19:23:18 2009 */ +/* Generated by re2c 0.13.5 on Tue May 19 08:53:54 2009 */ #line 1 "Zend/zend_ini_scanner.l" /* +----------------------------------------------------------------------+ @@ -339,21 +339,21 @@ yyc_INITIAL: { static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, - 128, 192, 0, 128, 128, 0, 128, 128, + 128, 160, 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, 160, 128, 128, 160, 160, 128, - 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 128, 128, 128, 128, 128, 128, - 128, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 128, 128, 128, 128, 160, - 128, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 128, 128, 128, 128, 128, + 160, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 192, 128, 128, 192, 192, 128, + 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 128, 128, 128, 128, 128, 128, + 128, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 128, 128, 128, 128, 192, + 128, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 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, @@ -371,7 +371,8 @@ yyc_INITIAL: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(1, *YYCURSOR); + + YYDEBUG(0, *YYCURSOR); YYFILL(6); yych = *YYCURSOR; YYDEBUG(-1, yych); @@ -388,11 +389,8 @@ yyc_INITIAL: case '\'': case '(': case ')': - case '*': case '+': case ',': - case '-': - case '.': case '/': case ':': case '<': @@ -406,6 +404,9 @@ yyc_INITIAL: case '}': case '~': goto yy10; case '#': goto yy12; + case '*': + case '-': + case '.': goto yy13; case '0': case '1': case '2': @@ -458,7 +459,7 @@ yyc_INITIAL: case 'v': case 'w': case 'x': - case 'z': goto yy13; + case 'z': goto yy14; case ';': goto yy15; case '=': goto yy16; case 'F': @@ -474,6 +475,14 @@ yyc_INITIAL: case '[': goto yy23; default: goto yy3; } +yy2: + YYDEBUG(2, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 389 "Zend/zend_ini_scanner.l" + { /* Get option name */ + RETURN_TOKEN(TC_LABEL, yytext, yyleng); +} +#line 486 "Zend/zend_ini_scanner.c" yy3: YYDEBUG(3, *YYCURSOR); ++YYCURSOR; @@ -483,7 +492,7 @@ yy3: { return 0; } -#line 487 "Zend/zend_ini_scanner.c" +#line 496 "Zend/zend_ini_scanner.c" yy5: YYDEBUG(5, *YYCURSOR); yyaccept = 0; @@ -497,7 +506,7 @@ yy6: /* eat whitespace */ goto restart; } -#line 501 "Zend/zend_ini_scanner.c" +#line 510 "Zend/zend_ini_scanner.c" yy7: YYDEBUG(7, *YYCURSOR); ++YYCURSOR; @@ -509,7 +518,7 @@ yy8: SCNG(lineno)++; return END_OF_LINE; } -#line 513 "Zend/zend_ini_scanner.c" +#line 522 "Zend/zend_ini_scanner.c" yy9: YYDEBUG(9, *YYCURSOR); yych = *++YYCURSOR; @@ -524,7 +533,7 @@ yy10: { /* Disallow these chars outside option values */ return yytext[0]; } -#line 528 "Zend/zend_ini_scanner.c" +#line 537 "Zend/zend_ini_scanner.c" yy12: YYDEBUG(12, *YYCURSOR); yyaccept = 1; @@ -532,17 +541,12 @@ yy12: goto yy57; yy13: YYDEBUG(13, *YYCURSOR); - ++YYCURSOR; - yych = *YYCURSOR; - goto yy26; + yych = *++YYCURSOR; + goto yy29; yy14: YYDEBUG(14, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 389 "Zend/zend_ini_scanner.l" - { /* Get option name */ - RETURN_TOKEN(TC_LABEL, yytext, yyleng); -} -#line 546 "Zend/zend_ini_scanner.c" + yych = *++YYCURSOR; + goto yy29; yy15: YYDEBUG(15, *YYCURSOR); yyaccept = 1; @@ -565,27 +569,27 @@ yy17: } return '='; } -#line 569 "Zend/zend_ini_scanner.c" +#line 573 "Zend/zend_ini_scanner.c" yy18: YYDEBUG(18, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy46; if (yych == 'a') goto yy46; - goto yy26; + goto yy29; yy19: YYDEBUG(19, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'O') goto yy42; - if (yych <= 'T') goto yy26; + if (yych <= 'T') goto yy29; goto yy43; } else { if (yych <= 'o') { - if (yych <= 'n') goto yy26; + if (yych <= 'n') goto yy29; goto yy42; } else { if (yych == 'u') goto yy43; - goto yy26; + goto yy29; } } yy20: @@ -593,15 +597,15 @@ yy20: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'F') goto yy37; - if (yych <= 'M') goto yy26; + if (yych <= 'M') goto yy29; goto yy31; } else { if (yych <= 'f') { - if (yych <= 'e') goto yy26; + if (yych <= 'e') goto yy29; goto yy37; } else { if (yych == 'n') goto yy31; - goto yy26; + goto yy29; } } yy21: @@ -609,16 +613,19 @@ yy21: yych = *++YYCURSOR; if (yych == 'R') goto yy35; if (yych == 'r') goto yy35; - goto yy26; + goto yy29; yy22: YYDEBUG(22, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy27; - if (yych == 'e') goto yy27; - goto yy26; + if (yych == 'E') goto yy30; + if (yych == 'e') goto yy30; + goto yy29; yy23: YYDEBUG(23, *YYCURSOR); ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 32) { + goto yy25; + } YYDEBUG(24, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 327 "Zend/zend_ini_scanner.l" @@ -631,35 +638,17 @@ yy23: } return TC_SECTION; } -#line 635 "Zend/zend_ini_scanner.c" +#line 642 "Zend/zend_ini_scanner.c" yy25: YYDEBUG(25, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy26: YYDEBUG(26, *YYCURSOR); if (yybm[0+yych] & 32) { goto yy25; } - if (yych == '[') goto yy28; - goto yy14; -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] & 64) { - goto yy28; - } - YYDEBUG(30, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 352 "Zend/zend_ini_scanner.l" { /* Start of option with offset */ @@ -671,14 +660,31 @@ yy28: RETURN_TOKEN(TC_OFFSET, yytext, yyleng); } -#line 675 "Zend/zend_ini_scanner.c" +#line 664 "Zend/zend_ini_scanner.c" +yy28: + YYDEBUG(28, *YYCURSOR); + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; +yy29: + YYDEBUG(29, *YYCURSOR); + if (yybm[0+yych] & 64) { + goto yy28; + } + if (yych == '[') goto yy25; + goto yy2; +yy30: + YYDEBUG(30, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy31; + if (yych != 's') goto yy29; yy31: YYDEBUG(31, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 32) { - goto yy25; + if (yybm[0+(yych = *YYCURSOR)] & 64) { + goto yy28; } - if (yych == '[') goto yy28; + if (yych == '[') goto yy25; goto yy34; yy32: YYDEBUG(32, *YYCURSOR); @@ -687,7 +693,7 @@ yy32: { /* TRUE value (when used outside option value/offset this causes parse error!) */ RETURN_TOKEN(BOOL_TRUE, "1", 1); } -#line 691 "Zend/zend_ini_scanner.c" +#line 697 "Zend/zend_ini_scanner.c" yy33: YYDEBUG(33, *YYCURSOR); ++YYCURSOR; @@ -702,25 +708,25 @@ yy35: YYDEBUG(35, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy36; - if (yych != 'u') goto yy26; + if (yych != 'u') goto yy29; yy36: YYDEBUG(36, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy31; if (yych == 'e') goto yy31; - goto yy26; + goto yy29; yy37: YYDEBUG(37, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'F') goto yy38; - if (yych != 'f') goto yy26; + if (yych != 'f') goto yy29; yy38: YYDEBUG(38, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 32) { - goto yy25; + if (yybm[0+(yych = *YYCURSOR)] & 64) { + goto yy28; } - if (yych == '[') goto yy28; + if (yych == '[') goto yy25; goto yy41; yy39: YYDEBUG(39, *YYCURSOR); @@ -729,7 +735,7 @@ yy39: { /* FALSE value (when used outside option value/offset this causes parse error!)*/ RETURN_TOKEN(BOOL_FALSE, "", 0); } -#line 733 "Zend/zend_ini_scanner.c" +#line 739 "Zend/zend_ini_scanner.c" yy40: YYDEBUG(40, *YYCURSOR); ++YYCURSOR; @@ -745,32 +751,32 @@ yy42: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= '.') { - if (yych == '*') goto yy25; + if (yych == '*') goto yy28; if (yych <= ',') goto yy41; - goto yy25; + goto yy28; } else { if (yych <= '9') { if (yych <= '/') goto yy41; - goto yy25; + goto yy28; } else { if (yych <= '@') goto yy41; - if (yych <= 'M') goto yy25; + if (yych <= 'M') goto yy28; goto yy45; } } } else { if (yych <= '_') { - if (yych <= 'Z') goto yy25; - if (yych <= '[') goto yy28; + if (yych <= 'Z') goto yy28; + if (yych <= '[') goto yy25; if (yych <= '^') goto yy41; - goto yy25; + goto yy28; } else { if (yych <= 'm') { if (yych <= '`') goto yy41; - goto yy25; + goto yy28; } else { if (yych <= 'n') goto yy45; - if (yych <= 'z') goto yy25; + if (yych <= 'z') goto yy28; goto yy41; } } @@ -779,35 +785,35 @@ yy43: YYDEBUG(43, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy44; - if (yych != 'l') goto yy26; + if (yych != 'l') goto yy29; yy44: YYDEBUG(44, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy38; if (yych == 'l') goto yy38; - goto yy26; + goto yy29; yy45: YYDEBUG(45, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy38; if (yych == 'e') goto yy38; - goto yy26; + goto yy29; yy46: YYDEBUG(46, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy47; - if (yych != 'l') goto yy26; + if (yych != 'l') goto yy29; yy47: YYDEBUG(47, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy48; - if (yych != 's') goto yy26; + if (yych != 's') goto yy29; yy48: YYDEBUG(48, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy38; if (yych == 'e') goto yy38; - goto yy26; + goto yy29; yy49: YYDEBUG(49, *YYCURSOR); ++YYCURSOR; @@ -841,7 +847,7 @@ yy54: SCNG(lineno)++; return END_OF_LINE; } -#line 845 "Zend/zend_ini_scanner.c" +#line 851 "Zend/zend_ini_scanner.c" yy55: YYDEBUG(55, *YYCURSOR); yych = *++YYCURSOR; @@ -870,7 +876,7 @@ yy59: SCNG(lineno)++; return END_OF_LINE; } -#line 874 "Zend/zend_ini_scanner.c" +#line 880 "Zend/zend_ini_scanner.c" yy60: YYDEBUG(60, *YYCURSOR); yych = *++YYCURSOR; @@ -976,7 +982,7 @@ yy68: zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC); return TC_QUOTED_STRING; } -#line 980 "Zend/zend_ini_scanner.c" +#line 986 "Zend/zend_ini_scanner.c" yy69: YYDEBUG(69, *YYCURSOR); ++YYCURSOR; @@ -990,7 +996,7 @@ yy70: yy_pop_state(TSRMLS_C); return '"'; } -#line 994 "Zend/zend_ini_scanner.c" +#line 1000 "Zend/zend_ini_scanner.c" yy71: YYDEBUG(71, *YYCURSOR); ++YYCURSOR; @@ -1009,7 +1015,7 @@ yy72: { return 0; } -#line 1013 "Zend/zend_ini_scanner.c" +#line 1019 "Zend/zend_ini_scanner.c" yy73: YYDEBUG(73, *YYCURSOR); yyaccept = 1; @@ -1022,7 +1028,7 @@ yy73: yy75: YYDEBUG(75, *YYCURSOR); YYCURSOR = YYMARKER; - if (yyaccept == 0) { + if (yyaccept <= 0) { goto yy68; } else { goto yy72; @@ -1130,7 +1136,7 @@ yy88: yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 1134 "Zend/zend_ini_scanner.c" +#line 1140 "Zend/zend_ini_scanner.c" yy90: YYDEBUG(90, *YYCURSOR); ++YYCURSOR; @@ -1233,7 +1239,7 @@ yy95: { /* Get rest as section/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 1237 "Zend/zend_ini_scanner.c" +#line 1243 "Zend/zend_ini_scanner.c" yy96: YYDEBUG(96, *YYCURSOR); yyaccept = 0; @@ -1254,7 +1260,7 @@ yy98: { return 0; } -#line 1258 "Zend/zend_ini_scanner.c" +#line 1264 "Zend/zend_ini_scanner.c" yy99: YYDEBUG(99, *YYCURSOR); ++YYCURSOR; @@ -1266,7 +1272,7 @@ yy100: yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 1270 "Zend/zend_ini_scanner.c" +#line 1276 "Zend/zend_ini_scanner.c" yy101: YYDEBUG(101, *YYCURSOR); yych = *++YYCURSOR; @@ -1332,7 +1338,7 @@ yy106: { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 1336 "Zend/zend_ini_scanner.c" +#line 1342 "Zend/zend_ini_scanner.c" yy107: YYDEBUG(107, *YYCURSOR); yyaccept = 3; @@ -1362,7 +1368,7 @@ yy108: { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 1366 "Zend/zend_ini_scanner.c" +#line 1372 "Zend/zend_ini_scanner.c" yy109: YYDEBUG(109, *YYCURSOR); yych = *++YYCURSOR; @@ -1378,7 +1384,7 @@ yy111: BEGIN(INITIAL); return ']'; } -#line 1382 "Zend/zend_ini_scanner.c" +#line 1388 "Zend/zend_ini_scanner.c" yy112: YYDEBUG(112, *YYCURSOR); yyaccept = 0; @@ -1414,13 +1420,13 @@ yy116: YYDEBUG(116, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 1) { - if (yyaccept == 0) { + if (yyaccept <= 0) { goto yy95; } else { goto yy98; } } else { - if (yyaccept == 2) { + if (yyaccept <= 2) { goto yy106; } else { goto yy108; @@ -1677,7 +1683,7 @@ yy133: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 1681 "Zend/zend_ini_scanner.c" +#line 1687 "Zend/zend_ini_scanner.c" yy137: YYDEBUG(137, *YYCURSOR); ++YYCURSOR; @@ -1688,7 +1694,7 @@ yy137: yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 1692 "Zend/zend_ini_scanner.c" +#line 1698 "Zend/zend_ini_scanner.c" yy139: YYDEBUG(139, *YYCURSOR); yyaccept = 0; @@ -1804,7 +1810,7 @@ yy146: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 1808 "Zend/zend_ini_scanner.c" +#line 1814 "Zend/zend_ini_scanner.c" yy147: YYDEBUG(147, *YYCURSOR); yyaccept = 0; @@ -1832,7 +1838,7 @@ yy149: SCNG(lineno)++; return END_OF_LINE; } -#line 1836 "Zend/zend_ini_scanner.c" +#line 1842 "Zend/zend_ini_scanner.c" yy150: YYDEBUG(150, *YYCURSOR); yych = *++YYCURSOR; @@ -1851,7 +1857,7 @@ yy152: BEGIN(INITIAL); return END_OF_LINE; } -#line 1855 "Zend/zend_ini_scanner.c" +#line 1861 "Zend/zend_ini_scanner.c" yy153: YYDEBUG(153, *YYCURSOR); yych = *++YYCURSOR; @@ -1879,7 +1885,7 @@ yy157: SCNG(lineno)++; return END_OF_LINE; } -#line 1883 "Zend/zend_ini_scanner.c" +#line 1889 "Zend/zend_ini_scanner.c" yy158: YYDEBUG(158, *YYCURSOR); yych = *++YYCURSOR; @@ -1985,7 +1991,7 @@ yy168: { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 1989 "Zend/zend_ini_scanner.c" +#line 1995 "Zend/zend_ini_scanner.c" yy169: YYDEBUG(169, *YYCURSOR); ++YYCURSOR; @@ -1995,7 +2001,7 @@ yy169: { return 0; } -#line 1999 "Zend/zend_ini_scanner.c" +#line 2005 "Zend/zend_ini_scanner.c" yy171: YYDEBUG(171, *YYCURSOR); ++YYCURSOR; @@ -2010,7 +2016,7 @@ yy172: SCNG(lineno)++; return ']'; } -#line 2014 "Zend/zend_ini_scanner.c" +#line 2020 "Zend/zend_ini_scanner.c" yy173: YYDEBUG(173, *YYCURSOR); ++YYCURSOR; @@ -2135,7 +2141,7 @@ yy182: { /* Get rest as section/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 2139 "Zend/zend_ini_scanner.c" +#line 2145 "Zend/zend_ini_scanner.c" yy183: YYDEBUG(183, *YYCURSOR); yyaccept = 0; @@ -2158,7 +2164,7 @@ yy185: { return 0; } -#line 2162 "Zend/zend_ini_scanner.c" +#line 2168 "Zend/zend_ini_scanner.c" yy186: YYDEBUG(186, *YYCURSOR); ++YYCURSOR; @@ -2170,7 +2176,7 @@ yy187: yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 2174 "Zend/zend_ini_scanner.c" +#line 2180 "Zend/zend_ini_scanner.c" yy188: YYDEBUG(188, *YYCURSOR); yych = *++YYCURSOR; @@ -2236,7 +2242,7 @@ yy193: { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 2240 "Zend/zend_ini_scanner.c" +#line 2246 "Zend/zend_ini_scanner.c" yy194: YYDEBUG(194, *YYCURSOR); yyaccept = 3; @@ -2266,7 +2272,7 @@ yy195: { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 2270 "Zend/zend_ini_scanner.c" +#line 2276 "Zend/zend_ini_scanner.c" yy196: YYDEBUG(196, *YYCURSOR); yych = *++YYCURSOR; @@ -2285,7 +2291,7 @@ yy198: SCNG(lineno)++; return ']'; } -#line 2289 "Zend/zend_ini_scanner.c" +#line 2295 "Zend/zend_ini_scanner.c" yy199: YYDEBUG(199, *YYCURSOR); ++YYCURSOR; @@ -2343,13 +2349,13 @@ yy207: YYDEBUG(207, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 1) { - if (yyaccept == 0) { + if (yyaccept <= 0) { goto yy182; } else { goto yy185; } } else { - if (yyaccept == 2) { + if (yyaccept <= 2) { goto yy193; } else { goto yy195; @@ -2606,7 +2612,7 @@ yy224: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 2610 "Zend/zend_ini_scanner.c" +#line 2616 "Zend/zend_ini_scanner.c" yy228: YYDEBUG(228, *YYCURSOR); ++YYCURSOR; @@ -2617,7 +2623,7 @@ yy228: yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 2621 "Zend/zend_ini_scanner.c" +#line 2627 "Zend/zend_ini_scanner.c" yy230: YYDEBUG(230, *YYCURSOR); yyaccept = 0; @@ -2801,7 +2807,7 @@ yy236: BEGIN(INITIAL); return END_OF_LINE; } -#line 2805 "Zend/zend_ini_scanner.c" +#line 2811 "Zend/zend_ini_scanner.c" yy237: YYDEBUG(237, *YYCURSOR); yyaccept = 0; @@ -2814,7 +2820,7 @@ yy238: { /* Get everything else as option/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 2818 "Zend/zend_ini_scanner.c" +#line 2824 "Zend/zend_ini_scanner.c" yy239: YYDEBUG(239, *YYCURSOR); yyaccept = 1; @@ -2827,7 +2833,7 @@ yy240: { RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng); } -#line 2831 "Zend/zend_ini_scanner.c" +#line 2837 "Zend/zend_ini_scanner.c" yy241: YYDEBUG(241, *YYCURSOR); ++YYCURSOR; @@ -2840,7 +2846,7 @@ yy242: SCNG(lineno)++; return END_OF_LINE; } -#line 2844 "Zend/zend_ini_scanner.c" +#line 2850 "Zend/zend_ini_scanner.c" yy243: YYDEBUG(243, *YYCURSOR); yych = *++YYCURSOR; @@ -2858,7 +2864,7 @@ yy245: { /* Boolean operators */ return yytext[0]; } -#line 2862 "Zend/zend_ini_scanner.c" +#line 2868 "Zend/zend_ini_scanner.c" yy246: YYDEBUG(246, *YYCURSOR); ++YYCURSOR; @@ -2870,7 +2876,7 @@ yy247: yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 2874 "Zend/zend_ini_scanner.c" +#line 2880 "Zend/zend_ini_scanner.c" yy248: YYDEBUG(248, *YYCURSOR); yych = *++YYCURSOR; @@ -2950,7 +2956,7 @@ yy253: { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 2954 "Zend/zend_ini_scanner.c" +#line 2960 "Zend/zend_ini_scanner.c" yy254: YYDEBUG(254, *YYCURSOR); yyaccept = 2; @@ -2967,7 +2973,7 @@ yy255: BEGIN(INITIAL); return END_OF_LINE; } -#line 2971 "Zend/zend_ini_scanner.c" +#line 2977 "Zend/zend_ini_scanner.c" yy257: YYDEBUG(257, *YYCURSOR); yyaccept = 4; @@ -3007,7 +3013,7 @@ yy258: { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 3011 "Zend/zend_ini_scanner.c" +#line 3017 "Zend/zend_ini_scanner.c" yy259: YYDEBUG(259, *YYCURSOR); yyaccept = 4; @@ -3407,13 +3413,13 @@ yy270: YYCURSOR = YYMARKER; if (yyaccept <= 3) { if (yyaccept <= 1) { - if (yyaccept == 0) { + if (yyaccept <= 0) { goto yy238; } else { goto yy240; } } else { - if (yyaccept == 2) { + if (yyaccept <= 2) { goto yy236; } else { goto yy253; @@ -3421,7 +3427,7 @@ yy270: } } else { if (yyaccept <= 5) { - if (yyaccept == 4) { + if (yyaccept <= 4) { goto yy258; } else { goto yy275; @@ -3503,7 +3509,7 @@ yy275: { /* TRUE value (when used outside option value/offset this causes parse error!) */ RETURN_TOKEN(BOOL_TRUE, "1", 1); } -#line 3507 "Zend/zend_ini_scanner.c" +#line 3513 "Zend/zend_ini_scanner.c" yy276: YYDEBUG(276, *YYCURSOR); ++YYCURSOR; @@ -3707,7 +3713,7 @@ yy282: { /* FALSE value (when used outside option value/offset this causes parse error!)*/ RETURN_TOKEN(BOOL_FALSE, "", 0); } -#line 3711 "Zend/zend_ini_scanner.c" +#line 3717 "Zend/zend_ini_scanner.c" yy283: YYDEBUG(283, *YYCURSOR); ++YYCURSOR; @@ -4089,7 +4095,7 @@ yy295: SCNG(lineno)++; return END_OF_LINE; } -#line 4093 "Zend/zend_ini_scanner.c" +#line 4099 "Zend/zend_ini_scanner.c" yy296: YYDEBUG(296, *YYCURSOR); yych = *++YYCURSOR; @@ -4310,7 +4316,7 @@ yy305: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 4314 "Zend/zend_ini_scanner.c" +#line 4320 "Zend/zend_ini_scanner.c" yy309: YYDEBUG(309, *YYCURSOR); ++YYCURSOR; @@ -4321,7 +4327,7 @@ yy309: yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 4325 "Zend/zend_ini_scanner.c" +#line 4331 "Zend/zend_ini_scanner.c" yy311: YYDEBUG(311, *YYCURSOR); ++YYCURSOR; @@ -4411,43 +4417,48 @@ yyc_ST_VARNAME: YYDEBUG(318, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; - if (yych <= '^') { - if (yych <= '9') { - if (yych >= '0') goto yy322; + if (yych <= '@') { + if (yych <= ',') { + if (yych == '*') goto yy323; + goto yy321; } else { - if (yych <= '@') goto yy320; - if (yych <= 'Z') goto yy322; + if (yych == '/') goto yy321; + if (yych <= '9') goto yy323; + goto yy321; } } else { - if (yych <= 'z') { - if (yych != '`') goto yy322; + if (yych <= '`') { + if (yych <= 'Z') goto yy323; + if (yych == '_') goto yy323; + goto yy321; } else { + if (yych <= 'z') goto yy323; if (yych == '}') goto yy324; + goto yy321; } } yy320: YYDEBUG(320, *YYCURSOR); - ++YYCURSOR; + yyleng = YYCURSOR - SCNG(yy_text); +#line 372 "Zend/zend_ini_scanner.l" + { /* Variable name */ + RETURN_TOKEN(TC_VARNAME, yytext, yyleng); +} +#line 4448 "Zend/zend_ini_scanner.c" +yy321: YYDEBUG(321, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(322, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 502 "Zend/zend_ini_scanner.l" { return 0; } -#line 4438 "Zend/zend_ini_scanner.c" -yy322: - YYDEBUG(322, *YYCURSOR); - ++YYCURSOR; - yych = *YYCURSOR; - goto yy327; +#line 4458 "Zend/zend_ini_scanner.c" yy323: YYDEBUG(323, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 372 "Zend/zend_ini_scanner.l" - { /* Variable name */ - RETURN_TOKEN(TC_VARNAME, yytext, yyleng); -} -#line 4451 "Zend/zend_ini_scanner.c" + yych = *++YYCURSOR; + goto yy327; yy324: YYDEBUG(324, *YYCURSOR); ++YYCURSOR; @@ -4458,7 +4469,7 @@ yy324: yy_pop_state(TSRMLS_C); return '}'; } -#line 4462 "Zend/zend_ini_scanner.c" +#line 4473 "Zend/zend_ini_scanner.c" yy326: YYDEBUG(326, *YYCURSOR); ++YYCURSOR; @@ -4469,7 +4480,7 @@ yy327: if (yybm[0+yych] & 128) { goto yy326; } - goto yy323; + goto yy320; } } #line 506 "Zend/zend_ini_scanner.l" diff --git a/Zend/zend_ini_scanner.l b/Zend/zend_ini_scanner.l index 70477a5644..c6ff0784e7 100644 --- a/Zend/zend_ini_scanner.l +++ b/Zend/zend_ini_scanner.l @@ -308,7 +308,7 @@ NEWLINE ("\r"|"\n"|"\r\n") TABS_AND_SPACES [ \t] WHITESPACE [ \t]+ CONSTANT [a-zA-Z][a-zA-Z0-9_]* -LABEL [a-zA-Z0-9_][a-zA-Z0-9*._-]* +LABEL [a-zA-Z0-9*._-]* TOKENS [:,.\[\]"'()|^&+-/*=%$!~<>?@{}] OPERATORS [&|~()!] DOLLAR_CURLY "${" diff --git a/Zend/zend_ini_scanner_defs.h b/Zend/zend_ini_scanner_defs.h index 46676e897b..7c5dc4a4cb 100644 --- a/Zend/zend_ini_scanner_defs.h +++ b/Zend/zend_ini_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.6.dev on Mon Feb 2 19:23:18 2009 */ +/* Generated by re2c 0.13.5 on Tue May 19 08:53:54 2009 */ #line 3 "Zend/zend_ini_scanner_defs.h" enum YYCONDTYPE {