diff options
author | Scott MacVicar <scottmac@php.net> | 2008-04-07 11:39:14 +0000 |
---|---|---|
committer | Scott MacVicar <scottmac@php.net> | 2008-04-07 11:39:14 +0000 |
commit | 878230cfbb2297b32985ad594a2d56130ba448d2 (patch) | |
tree | 4983c7924b5522b34053f2dffab15d7087da6220 /Zend/zend_ini_scanner.c | |
parent | a1e094514303fb953685ceda8acc794475994706 (diff) | |
download | php-git-878230cfbb2297b32985ad594a2d56130ba448d2.tar.gz |
Fixed bug #44609 (Dollar in ini variables are not parsed correctly)
Diffstat (limited to 'Zend/zend_ini_scanner.c')
-rw-r--r-- | Zend/zend_ini_scanner.c | 256 |
1 files changed, 89 insertions, 167 deletions
diff --git a/Zend/zend_ini_scanner.c b/Zend/zend_ini_scanner.c index 54bda10ba0..29caeba023 100644 --- a/Zend/zend_ini_scanner.c +++ b/Zend/zend_ini_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.4.dev on Fri Apr 4 15:52:51 2008 */ +/* Generated by re2c 0.13.4.dev on Mon Apr 7 12:36:56 2008 */ #line 1 "Zend/zend_ini_scanner.l" /* +----------------------------------------------------------------------+ @@ -943,22 +943,13 @@ yy63: yy64: YYDEBUG(64, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) <= 'Z') { - if (yych <= '/') { - if (yych >= 0x01) goto yy67; - } else { - if (yych <= '9') goto yy65; - if (yych <= '@') goto yy67; - } + if ((yych = *YYCURSOR) <= '\\') { + if (yych <= 0x00) goto yy65; + if (yych <= '[') goto yy67; + goto yy72; } else { - if (yych <= '`') { - if (yych == '\\') goto yy72; - goto yy67; - } else { - if (yych <= 'z') goto yy65; - if (yych <= '{') goto yy78; - goto yy67; - } + if (yych == '{') goto yy78; + goto yy67; } yy65: YYDEBUG(65, *YYCURSOR); @@ -967,7 +958,7 @@ yy65: { return 0; } -#line 971 "Zend/zend_ini_scanner.c" +#line 962 "Zend/zend_ini_scanner.c" yy66: YYDEBUG(66, *YYCURSOR); yych = *++YYCURSOR; @@ -994,21 +985,12 @@ yy70: ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - if (yych <= 'Z') { - if (yych <= '/') { - if (yych >= 0x01) goto yy67; - } else { - if (yych <= '9') goto yy71; - if (yych <= '@') goto yy67; - } + if (yych <= '\\') { + if (yych <= 0x00) goto yy71; + if (yych <= '[') goto yy67; + goto yy72; } else { - if (yych <= '\\') { - if (yych <= '[') goto yy67; - goto yy72; - } else { - if (yych <= '`') goto yy67; - if (yych >= '|') goto yy67; - } + if (yych != '{') goto yy67; } yy71: YYDEBUG(71, *YYCURSOR); @@ -1066,7 +1048,7 @@ yy78: yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 1070 "Zend/zend_ini_scanner.c" +#line 1052 "Zend/zend_ini_scanner.c" yy80: YYDEBUG(80, *YYCURSOR); ++YYCURSOR; @@ -1169,7 +1151,7 @@ yy85: { /* Get rest as section/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 1173 "Zend/zend_ini_scanner.c" +#line 1155 "Zend/zend_ini_scanner.c" yy86: YYDEBUG(86, *YYCURSOR); yyaccept = 0; @@ -1190,7 +1172,7 @@ yy88: { return 0; } -#line 1194 "Zend/zend_ini_scanner.c" +#line 1176 "Zend/zend_ini_scanner.c" yy89: YYDEBUG(89, *YYCURSOR); ++YYCURSOR; @@ -1202,28 +1184,17 @@ yy90: yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 1206 "Zend/zend_ini_scanner.c" +#line 1188 "Zend/zend_ini_scanner.c" yy91: YYDEBUG(91, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'Z') { - if (yych <= '/') { - if (yych <= 0x00) goto yy88; - goto yy102; - } else { - if (yych <= '9') goto yy88; - if (yych <= '@') goto yy102; - goto yy88; - } + if (yych <= '\\') { + if (yych <= 0x00) goto yy88; + if (yych <= '[') goto yy102; + goto yy107; } else { - if (yych <= '`') { - if (yych == '\\') goto yy107; - goto yy102; - } else { - if (yych <= 'z') goto yy88; - if (yych <= '{') goto yy127; - goto yy102; - } + if (yych == '{') goto yy127; + goto yy102; } yy92: YYDEBUG(92, *YYCURSOR); @@ -1279,7 +1250,7 @@ yy96: { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 1283 "Zend/zend_ini_scanner.c" +#line 1254 "Zend/zend_ini_scanner.c" yy97: YYDEBUG(97, *YYCURSOR); yyaccept = 3; @@ -1309,7 +1280,7 @@ yy98: { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 1313 "Zend/zend_ini_scanner.c" +#line 1284 "Zend/zend_ini_scanner.c" yy99: YYDEBUG(99, *YYCURSOR); yych = *++YYCURSOR; @@ -1325,7 +1296,7 @@ yy101: BEGIN(INITIAL); return ']'; } -#line 1329 "Zend/zend_ini_scanner.c" +#line 1300 "Zend/zend_ini_scanner.c" yy102: YYDEBUG(102, *YYCURSOR); yyaccept = 0; @@ -1350,21 +1321,12 @@ yy105: ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - if (yych <= 'Z') { - if (yych <= '/') { - if (yych >= 0x01) goto yy102; - } else { - if (yych <= '9') goto yy106; - if (yych <= '@') goto yy102; - } + if (yych <= '\\') { + if (yych <= 0x00) goto yy106; + if (yych <= '[') goto yy102; + goto yy107; } else { - if (yych <= '\\') { - if (yych <= '[') goto yy102; - goto yy107; - } else { - if (yych <= '`') goto yy102; - if (yych >= '|') goto yy102; - } + if (yych != '{') goto yy102; } yy106: YYDEBUG(106, *YYCURSOR); @@ -1633,7 +1595,7 @@ yy123: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 1637 "Zend/zend_ini_scanner.c" +#line 1599 "Zend/zend_ini_scanner.c" yy127: YYDEBUG(127, *YYCURSOR); ++YYCURSOR; @@ -1644,7 +1606,7 @@ yy127: yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 1648 "Zend/zend_ini_scanner.c" +#line 1610 "Zend/zend_ini_scanner.c" yy129: YYDEBUG(129, *YYCURSOR); yyaccept = 0; @@ -1761,7 +1723,7 @@ yy136: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 1765 "Zend/zend_ini_scanner.c" +#line 1727 "Zend/zend_ini_scanner.c" yy137: YYDEBUG(137, *YYCURSOR); yyaccept = 0; @@ -1789,7 +1751,7 @@ yy139: SCNG(lineno)++; return END_OF_LINE; } -#line 1793 "Zend/zend_ini_scanner.c" +#line 1755 "Zend/zend_ini_scanner.c" yy140: YYDEBUG(140, *YYCURSOR); yych = *++YYCURSOR; @@ -1806,9 +1768,9 @@ yy142: #line 489 "Zend/zend_ini_scanner.l" { /* End of option value (if EOF is reached before EOL */ BEGIN(INITIAL); - return 0; + return END_OF_LINE; } -#line 1812 "Zend/zend_ini_scanner.c" +#line 1774 "Zend/zend_ini_scanner.c" yy143: YYDEBUG(143, *YYCURSOR); yych = *++YYCURSOR; @@ -1836,7 +1798,7 @@ yy147: SCNG(lineno)++; return END_OF_LINE; } -#line 1840 "Zend/zend_ini_scanner.c" +#line 1802 "Zend/zend_ini_scanner.c" yy148: YYDEBUG(148, *YYCURSOR); yych = *++YYCURSOR; @@ -1942,7 +1904,7 @@ yy158: { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 1946 "Zend/zend_ini_scanner.c" +#line 1908 "Zend/zend_ini_scanner.c" yy159: YYDEBUG(159, *YYCURSOR); ++YYCURSOR; @@ -1952,7 +1914,7 @@ yy159: { return 0; } -#line 1956 "Zend/zend_ini_scanner.c" +#line 1918 "Zend/zend_ini_scanner.c" yy161: YYDEBUG(161, *YYCURSOR); ++YYCURSOR; @@ -1967,7 +1929,7 @@ yy162: SCNG(lineno)++; return ']'; } -#line 1971 "Zend/zend_ini_scanner.c" +#line 1933 "Zend/zend_ini_scanner.c" yy163: YYDEBUG(163, *YYCURSOR); ++YYCURSOR; @@ -2092,7 +2054,7 @@ yy172: { /* Get rest as section/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 2096 "Zend/zend_ini_scanner.c" +#line 2058 "Zend/zend_ini_scanner.c" yy173: YYDEBUG(173, *YYCURSOR); yyaccept = 0; @@ -2115,7 +2077,7 @@ yy175: { return 0; } -#line 2119 "Zend/zend_ini_scanner.c" +#line 2081 "Zend/zend_ini_scanner.c" yy176: YYDEBUG(176, *YYCURSOR); ++YYCURSOR; @@ -2127,28 +2089,17 @@ yy177: yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 2131 "Zend/zend_ini_scanner.c" +#line 2093 "Zend/zend_ini_scanner.c" yy178: YYDEBUG(178, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'Z') { - if (yych <= '/') { - if (yych <= 0x00) goto yy175; - goto yy193; - } else { - if (yych <= '9') goto yy175; - if (yych <= '@') goto yy193; - goto yy175; - } + if (yych <= '\\') { + if (yych <= 0x00) goto yy175; + if (yych <= '[') goto yy193; + goto yy198; } else { - if (yych <= '`') { - if (yych == '\\') goto yy198; - goto yy193; - } else { - if (yych <= 'z') goto yy175; - if (yych <= '{') goto yy218; - goto yy193; - } + if (yych == '{') goto yy218; + goto yy193; } yy179: YYDEBUG(179, *YYCURSOR); @@ -2204,7 +2155,7 @@ yy183: { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 2208 "Zend/zend_ini_scanner.c" +#line 2159 "Zend/zend_ini_scanner.c" yy184: YYDEBUG(184, *YYCURSOR); yyaccept = 3; @@ -2234,7 +2185,7 @@ yy185: { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 2238 "Zend/zend_ini_scanner.c" +#line 2189 "Zend/zend_ini_scanner.c" yy186: YYDEBUG(186, *YYCURSOR); yych = *++YYCURSOR; @@ -2253,7 +2204,7 @@ yy188: SCNG(lineno)++; return ']'; } -#line 2257 "Zend/zend_ini_scanner.c" +#line 2208 "Zend/zend_ini_scanner.c" yy189: YYDEBUG(189, *YYCURSOR); ++YYCURSOR; @@ -2300,21 +2251,12 @@ yy196: ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - if (yych <= 'Z') { - if (yych <= '/') { - if (yych >= 0x01) goto yy193; - } else { - if (yych <= '9') goto yy197; - if (yych <= '@') goto yy193; - } + if (yych <= '\\') { + if (yych <= 0x00) goto yy197; + if (yych <= '[') goto yy193; + goto yy198; } else { - if (yych <= '\\') { - if (yych <= '[') goto yy193; - goto yy198; - } else { - if (yych <= '`') goto yy193; - if (yych >= '|') goto yy193; - } + if (yych != '{') goto yy193; } yy197: YYDEBUG(197, *YYCURSOR); @@ -2583,7 +2525,7 @@ yy214: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 2587 "Zend/zend_ini_scanner.c" +#line 2529 "Zend/zend_ini_scanner.c" yy218: YYDEBUG(218, *YYCURSOR); ++YYCURSOR; @@ -2594,7 +2536,7 @@ yy218: yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 2598 "Zend/zend_ini_scanner.c" +#line 2540 "Zend/zend_ini_scanner.c" yy220: YYDEBUG(220, *YYCURSOR); yyaccept = 0; @@ -2776,9 +2718,9 @@ yy226: #line 489 "Zend/zend_ini_scanner.l" { /* End of option value (if EOF is reached before EOL */ BEGIN(INITIAL); - return 0; + return END_OF_LINE; } -#line 2782 "Zend/zend_ini_scanner.c" +#line 2724 "Zend/zend_ini_scanner.c" yy227: YYDEBUG(227, *YYCURSOR); yyaccept = 0; @@ -2791,7 +2733,7 @@ yy228: { /* Get everything else as option/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 2795 "Zend/zend_ini_scanner.c" +#line 2737 "Zend/zend_ini_scanner.c" yy229: YYDEBUG(229, *YYCURSOR); yyaccept = 1; @@ -2804,7 +2746,7 @@ yy230: { RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng); } -#line 2808 "Zend/zend_ini_scanner.c" +#line 2750 "Zend/zend_ini_scanner.c" yy231: YYDEBUG(231, *YYCURSOR); ++YYCURSOR; @@ -2817,7 +2759,7 @@ yy232: SCNG(lineno)++; return END_OF_LINE; } -#line 2821 "Zend/zend_ini_scanner.c" +#line 2763 "Zend/zend_ini_scanner.c" yy233: YYDEBUG(233, *YYCURSOR); yych = *++YYCURSOR; @@ -2835,7 +2777,7 @@ yy235: { /* Boolean operators */ return yytext[0]; } -#line 2839 "Zend/zend_ini_scanner.c" +#line 2781 "Zend/zend_ini_scanner.c" yy236: YYDEBUG(236, *YYCURSOR); ++YYCURSOR; @@ -2847,28 +2789,17 @@ yy237: yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 2851 "Zend/zend_ini_scanner.c" +#line 2793 "Zend/zend_ini_scanner.c" yy238: YYDEBUG(238, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'Z') { - if (yych <= '/') { - if (yych <= 0x00) goto yy226; - goto yy254; - } else { - if (yych <= '9') goto yy226; - if (yych <= '@') goto yy254; - goto yy226; - } + if (yych <= '\\') { + if (yych <= 0x00) goto yy226; + if (yych <= '[') goto yy254; + goto yy261; } else { - if (yych <= '`') { - if (yych == '\\') goto yy261; - goto yy254; - } else { - if (yych <= 'z') goto yy226; - if (yych <= '{') goto yy299; - goto yy254; - } + if (yych == '{') goto yy299; + goto yy254; } yy239: YYDEBUG(239, *YYCURSOR); @@ -2938,7 +2869,7 @@ yy243: { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 2942 "Zend/zend_ini_scanner.c" +#line 2873 "Zend/zend_ini_scanner.c" yy244: YYDEBUG(244, *YYCURSOR); yyaccept = 2; @@ -2955,7 +2886,7 @@ yy245: BEGIN(INITIAL); return END_OF_LINE; } -#line 2959 "Zend/zend_ini_scanner.c" +#line 2890 "Zend/zend_ini_scanner.c" yy247: YYDEBUG(247, *YYCURSOR); yyaccept = 4; @@ -2995,7 +2926,7 @@ yy248: { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 2999 "Zend/zend_ini_scanner.c" +#line 2930 "Zend/zend_ini_scanner.c" yy249: YYDEBUG(249, *YYCURSOR); yyaccept = 4; @@ -3383,21 +3314,12 @@ yy259: ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - if (yych <= 'Z') { - if (yych <= '/') { - if (yych >= 0x01) goto yy254; - } else { - if (yych <= '9') goto yy260; - if (yych <= '@') goto yy254; - } + if (yych <= '\\') { + if (yych <= 0x00) goto yy260; + if (yych <= '[') goto yy254; + goto yy261; } else { - if (yych <= '\\') { - if (yych <= '[') goto yy254; - goto yy261; - } else { - if (yych <= '`') goto yy254; - if (yych >= '|') goto yy254; - } + if (yych != '{') goto yy254; } yy260: YYDEBUG(260, *YYCURSOR); @@ -3500,7 +3422,7 @@ yy265: { /* TRUE value (when used outside option value/offset this causes parse error!) */ RETURN_TOKEN(BOOL_TRUE, "1", 1); } -#line 3504 "Zend/zend_ini_scanner.c" +#line 3426 "Zend/zend_ini_scanner.c" yy266: YYDEBUG(266, *YYCURSOR); ++YYCURSOR; @@ -3704,7 +3626,7 @@ yy272: { /* FALSE value (when used outside option value/offset this causes parse error!)*/ RETURN_TOKEN(BOOL_FALSE, "", 0); } -#line 3708 "Zend/zend_ini_scanner.c" +#line 3630 "Zend/zend_ini_scanner.c" yy273: YYDEBUG(273, *YYCURSOR); ++YYCURSOR; @@ -4086,7 +4008,7 @@ yy285: SCNG(lineno)++; return END_OF_LINE; } -#line 4090 "Zend/zend_ini_scanner.c" +#line 4012 "Zend/zend_ini_scanner.c" yy286: YYDEBUG(286, *YYCURSOR); yych = *++YYCURSOR; @@ -4307,7 +4229,7 @@ yy295: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 4311 "Zend/zend_ini_scanner.c" +#line 4233 "Zend/zend_ini_scanner.c" yy299: YYDEBUG(299, *YYCURSOR); ++YYCURSOR; @@ -4318,7 +4240,7 @@ yy299: yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 4322 "Zend/zend_ini_scanner.c" +#line 4244 "Zend/zend_ini_scanner.c" yy301: YYDEBUG(301, *YYCURSOR); ++YYCURSOR; @@ -4428,7 +4350,7 @@ yy310: { return 0; } -#line 4432 "Zend/zend_ini_scanner.c" +#line 4354 "Zend/zend_ini_scanner.c" yy312: YYDEBUG(312, *YYCURSOR); ++YYCURSOR; @@ -4441,7 +4363,7 @@ yy313: { /* Variable name */ RETURN_TOKEN(TC_VARNAME, yytext, yyleng); } -#line 4445 "Zend/zend_ini_scanner.c" +#line 4367 "Zend/zend_ini_scanner.c" yy314: YYDEBUG(314, *YYCURSOR); ++YYCURSOR; @@ -4452,7 +4374,7 @@ yy314: yy_pop_state(TSRMLS_C); return '}'; } -#line 4456 "Zend/zend_ini_scanner.c" +#line 4378 "Zend/zend_ini_scanner.c" yy316: YYDEBUG(316, *YYCURSOR); ++YYCURSOR; |