]> granicus.if.org Git - php/commitdiff
MFH: Fix bug #47859 parse_ini_file() does not like asterisk (*) in key in the beginni...
authorBrian Shire <shire@php.net>
Tue, 19 May 2009 15:59:36 +0000 (15:59 +0000)
committerBrian Shire <shire@php.net>
Tue, 19 May 2009 15:59:36 +0000 (15:59 +0000)
Zend/zend_ini_scanner.c
Zend/zend_ini_scanner.l
Zend/zend_ini_scanner_defs.h

index 468e8d51cc8bfce7082f5610d50401f4fdb52bb5..aa3c552ab3bdac4b93560f31cc73004b7b6770ef 100644 (file)
@@ -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"
index 70477a56448d9e72a2e2363a926eeb828efb6d12..c6ff0784e7ffad8738c1ee29f017d5a6c35a1c94 100644 (file)
@@ -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 "${"
index 46676e897b72a33f7eac34dd8ea603dbd667e4a8..7c5dc4a4cbc8790e97ab33bca8a7d2b15f4c88e7 100644 (file)
@@ -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 {