summaryrefslogtreecommitdiff
path: root/Zend/zend_ini_scanner.c
diff options
context:
space:
mode:
authorScott MacVicar <scottmac@php.net>2008-04-07 11:39:14 +0000
committerScott MacVicar <scottmac@php.net>2008-04-07 11:39:14 +0000
commit878230cfbb2297b32985ad594a2d56130ba448d2 (patch)
tree4983c7924b5522b34053f2dffab15d7087da6220 /Zend/zend_ini_scanner.c
parenta1e094514303fb953685ceda8acc794475994706 (diff)
downloadphp-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.c256
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;