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

index 72b2f79dd993cd70be344dd5181b8e338ecd3290..f3cda5f852d62e31875a0729d27a13b78809c935 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.6.dev on Mon Feb  2 19:30:53 2009 */
+/* Generated by re2c 0.13.5 on Tue May 19 08:46:59 2009 */
 #line 1 "Zend/zend_ini_scanner.l"
 /*
    +----------------------------------------------------------------------+
@@ -340,21 +340,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, 
@@ -372,7 +372,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);
@@ -389,11 +390,8 @@ yyc_INITIAL:
                case '\'':
                case '(':
                case ')':
-               case '*':
                case '+':
                case ',':
-               case '-':
-               case '.':
                case '/':
                case ':':
                case '<':
@@ -406,6 +404,9 @@ yyc_INITIAL:
                case '|':
                case '}':
                case '~':       goto yy10;
+               case '*':
+               case '-':
+               case '.':       goto yy12;
                case '0':
                case '1':
                case '2':
@@ -458,7 +459,7 @@ yyc_INITIAL:
                case 'v':
                case 'w':
                case 'x':
-               case 'z':       goto yy12;
+               case 'z':       goto yy13;
                case ';':       goto yy14;
                case '=':       goto yy15;
                case 'F':
@@ -474,6 +475,14 @@ yyc_INITIAL:
                case '[':       goto yy22;
                default:        goto yy3;
                }
+yy2:
+               YYDEBUG(2, *YYCURSOR);
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 391 "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,20 +533,15 @@ 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);
-               ++YYCURSOR;
-               yych = *YYCURSOR;
-               goto yy25;
+               yych = *++YYCURSOR;
+               goto yy28;
 yy13:
                YYDEBUG(13, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 391 "Zend/zend_ini_scanner.l"
-               { /* Get option name */
-       RETURN_TOKEN(TC_LABEL, yytext, yyleng);
-}
-#line 541 "Zend/zend_ini_scanner.c"
+               yych = *++YYCURSOR;
+               goto yy28;
 yy14:
                YYDEBUG(14, *YYCURSOR);
                yyaccept = 1;
@@ -560,27 +564,27 @@ yy16:
        }
        return '=';
 }
-#line 564 "Zend/zend_ini_scanner.c"
+#line 568 "Zend/zend_ini_scanner.c"
 yy17:
                YYDEBUG(17, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == 'A') goto yy45;
                if (yych == 'a') goto yy45;
-               goto yy25;
+               goto yy28;
 yy18:
                YYDEBUG(18, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych <= 'U') {
                        if (yych == 'O') goto yy41;
-                       if (yych <= 'T') goto yy25;
+                       if (yych <= 'T') goto yy28;
                        goto yy42;
                } else {
                        if (yych <= 'o') {
-                               if (yych <= 'n') goto yy25;
+                               if (yych <= 'n') goto yy28;
                                goto yy41;
                        } else {
                                if (yych == 'u') goto yy42;
-                               goto yy25;
+                               goto yy28;
                        }
                }
 yy19:
@@ -588,15 +592,15 @@ yy19:
                yych = *++YYCURSOR;
                if (yych <= 'N') {
                        if (yych == 'F') goto yy36;
-                       if (yych <= 'M') goto yy25;
+                       if (yych <= 'M') goto yy28;
                        goto yy30;
                } else {
                        if (yych <= 'f') {
-                               if (yych <= 'e') goto yy25;
+                               if (yych <= 'e') goto yy28;
                                goto yy36;
                        } else {
                                if (yych == 'n') goto yy30;
-                               goto yy25;
+                               goto yy28;
                        }
                }
 yy20:
@@ -604,16 +608,19 @@ yy20:
                yych = *++YYCURSOR;
                if (yych == 'R') goto yy34;
                if (yych == 'r') goto yy34;
-               goto yy25;
+               goto yy28;
 yy21:
                YYDEBUG(21, *YYCURSOR);
                yych = *++YYCURSOR;
-               if (yych == 'E') goto yy26;
-               if (yych == 'e') goto yy26;
-               goto yy25;
+               if (yych == 'E') goto yy29;
+               if (yych == 'e') goto yy29;
+               goto yy28;
 yy22:
                YYDEBUG(22, *YYCURSOR);
                ++YYCURSOR;
+               if (yybm[0+(yych = *YYCURSOR)] & 32) {
+                       goto yy24;
+               }
                YYDEBUG(23, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 329 "Zend/zend_ini_scanner.l"
@@ -626,35 +633,17 @@ yy22:
        }
        return TC_SECTION;
 }
-#line 630 "Zend/zend_ini_scanner.c"
+#line 637 "Zend/zend_ini_scanner.c"
 yy24:
                YYDEBUG(24, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
-yy25:
                YYDEBUG(25, *YYCURSOR);
                if (yybm[0+yych] & 32) {
                        goto yy24;
                }
-               if (yych == '[') goto yy27;
-               goto yy13;
-yy26:
                YYDEBUG(26, *YYCURSOR);
-               yych = *++YYCURSOR;
-               if (yych == 'S') goto yy30;
-               if (yych == 's') goto yy30;
-               goto yy25;
-yy27:
-               YYDEBUG(27, *YYCURSOR);
-               ++YYCURSOR;
-               YYFILL(1);
-               yych = *YYCURSOR;
-               YYDEBUG(28, *YYCURSOR);
-               if (yybm[0+yych] & 64) {
-                       goto yy27;
-               }
-               YYDEBUG(29, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 354 "Zend/zend_ini_scanner.l"
                { /* Start of option with offset */
@@ -666,14 +655,31 @@ yy27:
 
        RETURN_TOKEN(TC_OFFSET, yytext, yyleng);
 }
-#line 670 "Zend/zend_ini_scanner.c"
+#line 659 "Zend/zend_ini_scanner.c"
+yy27:
+               YYDEBUG(27, *YYCURSOR);
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+yy28:
+               YYDEBUG(28, *YYCURSOR);
+               if (yybm[0+yych] & 64) {
+                       goto yy27;
+               }
+               if (yych == '[') goto yy24;
+               goto yy2;
+yy29:
+               YYDEBUG(29, *YYCURSOR);
+               yych = *++YYCURSOR;
+               if (yych == 'S') goto yy30;
+               if (yych != 's') goto yy28;
 yy30:
                YYDEBUG(30, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 32) {
-                       goto yy24;
+               if (yybm[0+(yych = *YYCURSOR)] & 64) {
+                       goto yy27;
                }
-               if (yych == '[') goto yy27;
+               if (yych == '[') goto yy24;
                goto yy33;
 yy31:
                YYDEBUG(31, *YYCURSOR);
@@ -682,7 +688,7 @@ yy31:
                { /* TRUE value (when used outside option value/offset this causes parse error!) */
        RETURN_TOKEN(BOOL_TRUE, "1", 1);
 }
-#line 686 "Zend/zend_ini_scanner.c"
+#line 692 "Zend/zend_ini_scanner.c"
 yy32:
                YYDEBUG(32, *YYCURSOR);
                ++YYCURSOR;
@@ -697,25 +703,25 @@ yy34:
                YYDEBUG(34, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == 'U') goto yy35;
-               if (yych != 'u') goto yy25;
+               if (yych != 'u') goto yy28;
 yy35:
                YYDEBUG(35, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == 'E') goto yy30;
                if (yych == 'e') goto yy30;
-               goto yy25;
+               goto yy28;
 yy36:
                YYDEBUG(36, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == 'F') goto yy37;
-               if (yych != 'f') goto yy25;
+               if (yych != 'f') goto yy28;
 yy37:
                YYDEBUG(37, *YYCURSOR);
                ++YYCURSOR;
-               if (yybm[0+(yych = *YYCURSOR)] & 32) {
-                       goto yy24;
+               if (yybm[0+(yych = *YYCURSOR)] & 64) {
+                       goto yy27;
                }
-               if (yych == '[') goto yy27;
+               if (yych == '[') goto yy24;
                goto yy40;
 yy38:
                YYDEBUG(38, *YYCURSOR);
@@ -724,7 +730,7 @@ yy38:
                { /* FALSE value (when used outside option value/offset this causes parse error!)*/
        RETURN_TOKEN(BOOL_FALSE, "", 0);
 }
-#line 728 "Zend/zend_ini_scanner.c"
+#line 734 "Zend/zend_ini_scanner.c"
 yy39:
                YYDEBUG(39, *YYCURSOR);
                ++YYCURSOR;
@@ -740,32 +746,32 @@ yy41:
                yych = *++YYCURSOR;
                if (yych <= 'N') {
                        if (yych <= '.') {
-                               if (yych == '*') goto yy24;
+                               if (yych == '*') goto yy27;
                                if (yych <= ',') goto yy40;
-                               goto yy24;
+                               goto yy27;
                        } else {
                                if (yych <= '9') {
                                        if (yych <= '/') goto yy40;
-                                       goto yy24;
+                                       goto yy27;
                                } else {
                                        if (yych <= '@') goto yy40;
-                                       if (yych <= 'M') goto yy24;
+                                       if (yych <= 'M') goto yy27;
                                        goto yy44;
                                }
                        }
                } else {
                        if (yych <= '_') {
-                               if (yych <= 'Z') goto yy24;
-                               if (yych <= '[') goto yy27;
+                               if (yych <= 'Z') goto yy27;
+                               if (yych <= '[') goto yy24;
                                if (yych <= '^') goto yy40;
-                               goto yy24;
+                               goto yy27;
                        } else {
                                if (yych <= 'm') {
                                        if (yych <= '`') goto yy40;
-                                       goto yy24;
+                                       goto yy27;
                                } else {
                                        if (yych <= 'n') goto yy44;
-                                       if (yych <= 'z') goto yy24;
+                                       if (yych <= 'z') goto yy27;
                                        goto yy40;
                                }
                        }
@@ -774,35 +780,35 @@ yy42:
                YYDEBUG(42, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == 'L') goto yy43;
-               if (yych != 'l') goto yy25;
+               if (yych != 'l') goto yy28;
 yy43:
                YYDEBUG(43, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == 'L') goto yy37;
                if (yych == 'l') goto yy37;
-               goto yy25;
+               goto yy28;
 yy44:
                YYDEBUG(44, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == 'E') goto yy37;
                if (yych == 'e') goto yy37;
-               goto yy25;
+               goto yy28;
 yy45:
                YYDEBUG(45, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == 'L') goto yy46;
-               if (yych != 'l') goto yy25;
+               if (yych != 'l') goto yy28;
 yy46:
                YYDEBUG(46, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == 'S') goto yy47;
-               if (yych != 's') goto yy25;
+               if (yych != 's') goto yy28;
 yy47:
                YYDEBUG(47, *YYCURSOR);
                yych = *++YYCURSOR;
                if (yych == 'E') goto yy37;
                if (yych == 'e') goto yy37;
-               goto yy25;
+               goto yy28;
 yy48:
                YYDEBUG(48, *YYCURSOR);
                ++YYCURSOR;
@@ -836,7 +842,7 @@ yy53:
        SCNG(lineno)++;
        return END_OF_LINE;
 }
-#line 840 "Zend/zend_ini_scanner.c"
+#line 846 "Zend/zend_ini_scanner.c"
 yy54:
                YYDEBUG(54, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -939,7 +945,7 @@ yy62:
        zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC);
        return TC_QUOTED_STRING;
 }
-#line 943 "Zend/zend_ini_scanner.c"
+#line 949 "Zend/zend_ini_scanner.c"
 yy63:
                YYDEBUG(63, *YYCURSOR);
                ++YYCURSOR;
@@ -953,7 +959,7 @@ yy64:
        yy_pop_state(TSRMLS_C);
        return '"';
 }
-#line 957 "Zend/zend_ini_scanner.c"
+#line 963 "Zend/zend_ini_scanner.c"
 yy65:
                YYDEBUG(65, *YYCURSOR);
                ++YYCURSOR;
@@ -972,7 +978,7 @@ yy66:
                {
        return 0;
 }
-#line 976 "Zend/zend_ini_scanner.c"
+#line 982 "Zend/zend_ini_scanner.c"
 yy67:
                YYDEBUG(67, *YYCURSOR);
                yyaccept = 1;
@@ -985,7 +991,7 @@ yy67:
 yy69:
                YYDEBUG(69, *YYCURSOR);
                YYCURSOR = YYMARKER;
-               if (yyaccept == 0) {
+               if (yyaccept <= 0) {
                        goto yy62;
                } else {
                        goto yy66;
@@ -1093,7 +1099,7 @@ yy82:
        yy_push_state(ST_VARNAME TSRMLS_CC);
        return TC_DOLLAR_CURLY;
 }
-#line 1097 "Zend/zend_ini_scanner.c"
+#line 1103 "Zend/zend_ini_scanner.c"
 yy84:
                YYDEBUG(84, *YYCURSOR);
                ++YYCURSOR;
@@ -1196,7 +1202,7 @@ yy89:
                { /* Get rest as section/offset value */
        RETURN_TOKEN(TC_STRING, yytext, yyleng);
 }
-#line 1200 "Zend/zend_ini_scanner.c"
+#line 1206 "Zend/zend_ini_scanner.c"
 yy90:
                YYDEBUG(90, *YYCURSOR);
                yyaccept = 0;
@@ -1217,7 +1223,7 @@ yy92:
                {
        return 0;
 }
-#line 1221 "Zend/zend_ini_scanner.c"
+#line 1227 "Zend/zend_ini_scanner.c"
 yy93:
                YYDEBUG(93, *YYCURSOR);
                ++YYCURSOR;
@@ -1229,7 +1235,7 @@ yy94:
        yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
        return '"';
 }
-#line 1233 "Zend/zend_ini_scanner.c"
+#line 1239 "Zend/zend_ini_scanner.c"
 yy95:
                YYDEBUG(95, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1295,7 +1301,7 @@ yy100:
                { /* Get number option value as string */
        RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
 }
-#line 1299 "Zend/zend_ini_scanner.c"
+#line 1305 "Zend/zend_ini_scanner.c"
 yy101:
                YYDEBUG(101, *YYCURSOR);
                yyaccept = 3;
@@ -1325,7 +1331,7 @@ yy102:
                { /* Get constant option value */
        RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
 }
-#line 1329 "Zend/zend_ini_scanner.c"
+#line 1335 "Zend/zend_ini_scanner.c"
 yy103:
                YYDEBUG(103, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1341,7 +1347,7 @@ yy105:
        BEGIN(INITIAL);
        return ']';
 }
-#line 1345 "Zend/zend_ini_scanner.c"
+#line 1351 "Zend/zend_ini_scanner.c"
 yy106:
                YYDEBUG(106, *YYCURSOR);
                yyaccept = 0;
@@ -1377,13 +1383,13 @@ yy110:
                YYDEBUG(110, *YYCURSOR);
                YYCURSOR = YYMARKER;
                if (yyaccept <= 1) {
-                       if (yyaccept == 0) {
+                       if (yyaccept <= 0) {
                                goto yy89;
                        } else {
                                goto yy92;
                        }
                } else {
-                       if (yyaccept == 2) {
+                       if (yyaccept <= 2) {
                                goto yy100;
                        } else {
                                goto yy102;
@@ -1640,7 +1646,7 @@ yy127:
        }
        RETURN_TOKEN(TC_RAW, yytext, yyleng);
 }
-#line 1644 "Zend/zend_ini_scanner.c"
+#line 1650 "Zend/zend_ini_scanner.c"
 yy131:
                YYDEBUG(131, *YYCURSOR);
                ++YYCURSOR;
@@ -1651,7 +1657,7 @@ yy131:
        yy_push_state(ST_VARNAME TSRMLS_CC);
        return TC_DOLLAR_CURLY;
 }
-#line 1655 "Zend/zend_ini_scanner.c"
+#line 1661 "Zend/zend_ini_scanner.c"
 yy133:
                YYDEBUG(133, *YYCURSOR);
                yyaccept = 0;
@@ -1767,7 +1773,7 @@ yy140:
        }
        RETURN_TOKEN(TC_RAW, yytext, yyleng);
 }
-#line 1771 "Zend/zend_ini_scanner.c"
+#line 1777 "Zend/zend_ini_scanner.c"
 yy141:
                YYDEBUG(141, *YYCURSOR);
                yyaccept = 0;
@@ -1795,7 +1801,7 @@ yy143:
        SCNG(lineno)++;
        return END_OF_LINE;
 }
-#line 1799 "Zend/zend_ini_scanner.c"
+#line 1805 "Zend/zend_ini_scanner.c"
 yy144:
                YYDEBUG(144, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1814,7 +1820,7 @@ yy146:
        BEGIN(INITIAL);
        return END_OF_LINE;
 }
-#line 1818 "Zend/zend_ini_scanner.c"
+#line 1824 "Zend/zend_ini_scanner.c"
 yy147:
                YYDEBUG(147, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1842,7 +1848,7 @@ yy151:
        SCNG(lineno)++;
        return END_OF_LINE;
 }
-#line 1846 "Zend/zend_ini_scanner.c"
+#line 1852 "Zend/zend_ini_scanner.c"
 yy152:
                YYDEBUG(152, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -1948,7 +1954,7 @@ yy162:
                { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
        RETURN_TOKEN(TC_RAW, yytext, yyleng);
 }
-#line 1952 "Zend/zend_ini_scanner.c"
+#line 1958 "Zend/zend_ini_scanner.c"
 yy163:
                YYDEBUG(163, *YYCURSOR);
                ++YYCURSOR;
@@ -1958,7 +1964,7 @@ yy163:
                {
        return 0;
 }
-#line 1962 "Zend/zend_ini_scanner.c"
+#line 1968 "Zend/zend_ini_scanner.c"
 yy165:
                YYDEBUG(165, *YYCURSOR);
                ++YYCURSOR;
@@ -1973,7 +1979,7 @@ yy166:
        SCNG(lineno)++;
        return ']';
 }
-#line 1977 "Zend/zend_ini_scanner.c"
+#line 1983 "Zend/zend_ini_scanner.c"
 yy167:
                YYDEBUG(167, *YYCURSOR);
                ++YYCURSOR;
@@ -2098,7 +2104,7 @@ yy176:
                { /* Get rest as section/offset value */
        RETURN_TOKEN(TC_STRING, yytext, yyleng);
 }
-#line 2102 "Zend/zend_ini_scanner.c"
+#line 2108 "Zend/zend_ini_scanner.c"
 yy177:
                YYDEBUG(177, *YYCURSOR);
                yyaccept = 0;
@@ -2121,7 +2127,7 @@ yy179:
                {
        return 0;
 }
-#line 2125 "Zend/zend_ini_scanner.c"
+#line 2131 "Zend/zend_ini_scanner.c"
 yy180:
                YYDEBUG(180, *YYCURSOR);
                ++YYCURSOR;
@@ -2133,7 +2139,7 @@ yy181:
        yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
        return '"';
 }
-#line 2137 "Zend/zend_ini_scanner.c"
+#line 2143 "Zend/zend_ini_scanner.c"
 yy182:
                YYDEBUG(182, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2199,7 +2205,7 @@ yy187:
                { /* Get number option value as string */
        RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
 }
-#line 2203 "Zend/zend_ini_scanner.c"
+#line 2209 "Zend/zend_ini_scanner.c"
 yy188:
                YYDEBUG(188, *YYCURSOR);
                yyaccept = 3;
@@ -2229,7 +2235,7 @@ yy189:
                { /* Get constant option value */
        RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
 }
-#line 2233 "Zend/zend_ini_scanner.c"
+#line 2239 "Zend/zend_ini_scanner.c"
 yy190:
                YYDEBUG(190, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2248,7 +2254,7 @@ yy192:
        SCNG(lineno)++;
        return ']';
 }
-#line 2252 "Zend/zend_ini_scanner.c"
+#line 2258 "Zend/zend_ini_scanner.c"
 yy193:
                YYDEBUG(193, *YYCURSOR);
                ++YYCURSOR;
@@ -2306,13 +2312,13 @@ yy201:
                YYDEBUG(201, *YYCURSOR);
                YYCURSOR = YYMARKER;
                if (yyaccept <= 1) {
-                       if (yyaccept == 0) {
+                       if (yyaccept <= 0) {
                                goto yy176;
                        } else {
                                goto yy179;
                        }
                } else {
-                       if (yyaccept == 2) {
+                       if (yyaccept <= 2) {
                                goto yy187;
                        } else {
                                goto yy189;
@@ -2569,7 +2575,7 @@ yy218:
        }
        RETURN_TOKEN(TC_RAW, yytext, yyleng);
 }
-#line 2573 "Zend/zend_ini_scanner.c"
+#line 2579 "Zend/zend_ini_scanner.c"
 yy222:
                YYDEBUG(222, *YYCURSOR);
                ++YYCURSOR;
@@ -2580,7 +2586,7 @@ yy222:
        yy_push_state(ST_VARNAME TSRMLS_CC);
        return TC_DOLLAR_CURLY;
 }
-#line 2584 "Zend/zend_ini_scanner.c"
+#line 2590 "Zend/zend_ini_scanner.c"
 yy224:
                YYDEBUG(224, *YYCURSOR);
                yyaccept = 0;
@@ -2764,7 +2770,7 @@ yy230:
        BEGIN(INITIAL);
        return END_OF_LINE;
 }
-#line 2768 "Zend/zend_ini_scanner.c"
+#line 2774 "Zend/zend_ini_scanner.c"
 yy231:
                YYDEBUG(231, *YYCURSOR);
                yyaccept = 0;
@@ -2777,7 +2783,7 @@ yy232:
                { /* Get everything else as option/offset value */
        RETURN_TOKEN(TC_STRING, yytext, yyleng);
 }
-#line 2781 "Zend/zend_ini_scanner.c"
+#line 2787 "Zend/zend_ini_scanner.c"
 yy233:
                YYDEBUG(233, *YYCURSOR);
                yyaccept = 1;
@@ -2790,7 +2796,7 @@ yy234:
                {
        RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
 }
-#line 2794 "Zend/zend_ini_scanner.c"
+#line 2800 "Zend/zend_ini_scanner.c"
 yy235:
                YYDEBUG(235, *YYCURSOR);
                ++YYCURSOR;
@@ -2803,7 +2809,7 @@ yy236:
        SCNG(lineno)++;
        return END_OF_LINE;
 }
-#line 2807 "Zend/zend_ini_scanner.c"
+#line 2813 "Zend/zend_ini_scanner.c"
 yy237:
                YYDEBUG(237, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2821,7 +2827,7 @@ yy239:
                { /* Boolean operators */
        return yytext[0];
 }
-#line 2825 "Zend/zend_ini_scanner.c"
+#line 2831 "Zend/zend_ini_scanner.c"
 yy240:
                YYDEBUG(240, *YYCURSOR);
                ++YYCURSOR;
@@ -2833,7 +2839,7 @@ yy241:
        yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
        return '"';
 }
-#line 2837 "Zend/zend_ini_scanner.c"
+#line 2843 "Zend/zend_ini_scanner.c"
 yy242:
                YYDEBUG(242, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -2913,7 +2919,7 @@ yy247:
                { /* Get number option value as string */
        RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
 }
-#line 2917 "Zend/zend_ini_scanner.c"
+#line 2923 "Zend/zend_ini_scanner.c"
 yy248:
                YYDEBUG(248, *YYCURSOR);
                yyaccept = 2;
@@ -2930,7 +2936,7 @@ yy249:
        BEGIN(INITIAL);
        return END_OF_LINE;
 }
-#line 2934 "Zend/zend_ini_scanner.c"
+#line 2940 "Zend/zend_ini_scanner.c"
 yy251:
                YYDEBUG(251, *YYCURSOR);
                yyaccept = 4;
@@ -2970,7 +2976,7 @@ yy252:
                { /* Get constant option value */
        RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
 }
-#line 2974 "Zend/zend_ini_scanner.c"
+#line 2980 "Zend/zend_ini_scanner.c"
 yy253:
                YYDEBUG(253, *YYCURSOR);
                yyaccept = 4;
@@ -3370,13 +3376,13 @@ yy264:
                YYCURSOR = YYMARKER;
                if (yyaccept <= 3) {
                        if (yyaccept <= 1) {
-                               if (yyaccept == 0) {
+                               if (yyaccept <= 0) {
                                        goto yy232;
                                } else {
                                        goto yy234;
                                }
                        } else {
-                               if (yyaccept == 2) {
+                               if (yyaccept <= 2) {
                                        goto yy230;
                                } else {
                                        goto yy247;
@@ -3384,7 +3390,7 @@ yy264:
                        }
                } else {
                        if (yyaccept <= 5) {
-                               if (yyaccept == 4) {
+                               if (yyaccept <= 4) {
                                        goto yy252;
                                } else {
                                        goto yy269;
@@ -3466,7 +3472,7 @@ yy269:
                { /* TRUE value (when used outside option value/offset this causes parse error!) */
        RETURN_TOKEN(BOOL_TRUE, "1", 1);
 }
-#line 3470 "Zend/zend_ini_scanner.c"
+#line 3476 "Zend/zend_ini_scanner.c"
 yy270:
                YYDEBUG(270, *YYCURSOR);
                ++YYCURSOR;
@@ -3670,7 +3676,7 @@ yy276:
                { /* FALSE value (when used outside option value/offset this causes parse error!)*/
        RETURN_TOKEN(BOOL_FALSE, "", 0);
 }
-#line 3674 "Zend/zend_ini_scanner.c"
+#line 3680 "Zend/zend_ini_scanner.c"
 yy277:
                YYDEBUG(277, *YYCURSOR);
                ++YYCURSOR;
@@ -4052,7 +4058,7 @@ yy289:
        SCNG(lineno)++;
        return END_OF_LINE;
 }
-#line 4056 "Zend/zend_ini_scanner.c"
+#line 4062 "Zend/zend_ini_scanner.c"
 yy290:
                YYDEBUG(290, *YYCURSOR);
                yych = *++YYCURSOR;
@@ -4273,7 +4279,7 @@ yy299:
        }
        RETURN_TOKEN(TC_RAW, yytext, yyleng);
 }
-#line 4277 "Zend/zend_ini_scanner.c"
+#line 4283 "Zend/zend_ini_scanner.c"
 yy303:
                YYDEBUG(303, *YYCURSOR);
                ++YYCURSOR;
@@ -4284,7 +4290,7 @@ yy303:
        yy_push_state(ST_VARNAME TSRMLS_CC);
        return TC_DOLLAR_CURLY;
 }
-#line 4288 "Zend/zend_ini_scanner.c"
+#line 4294 "Zend/zend_ini_scanner.c"
 yy305:
                YYDEBUG(305, *YYCURSOR);
                ++YYCURSOR;
@@ -4374,43 +4380,48 @@ yyc_ST_VARNAME:
                YYDEBUG(312, *YYCURSOR);
                YYFILL(2);
                yych = *YYCURSOR;
-               if (yych <= '^') {
-                       if (yych <= '9') {
-                               if (yych >= '0') goto yy316;
+               if (yych <= '@') {
+                       if (yych <= ',') {
+                               if (yych == '*') goto yy317;
+                               goto yy315;
                        } else {
-                               if (yych <= '@') goto yy314;
-                               if (yych <= 'Z') goto yy316;
+                               if (yych == '/') goto yy315;
+                               if (yych <= '9') goto yy317;
+                               goto yy315;
                        }
                } else {
-                       if (yych <= 'z') {
-                               if (yych != '`') goto yy316;
+                       if (yych <= '`') {
+                               if (yych <= 'Z') goto yy317;
+                               if (yych == '_') goto yy317;
+                               goto yy315;
                        } else {
+                               if (yych <= 'z') goto yy317;
                                if (yych == '}') goto yy318;
+                               goto yy315;
                        }
                }
 yy314:
                YYDEBUG(314, *YYCURSOR);
-               ++YYCURSOR;
+               yyleng = YYCURSOR - SCNG(yy_text);
+#line 374 "Zend/zend_ini_scanner.l"
+               { /* Variable name */
+       RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
+}
+#line 4411 "Zend/zend_ini_scanner.c"
+yy315:
                YYDEBUG(315, *YYCURSOR);
+               ++YYCURSOR;
+               YYDEBUG(316, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
 #line 497 "Zend/zend_ini_scanner.l"
                {
        return 0;
 }
-#line 4401 "Zend/zend_ini_scanner.c"
-yy316:
-               YYDEBUG(316, *YYCURSOR);
-               ++YYCURSOR;
-               yych = *YYCURSOR;
-               goto yy321;
+#line 4421 "Zend/zend_ini_scanner.c"
 yy317:
                YYDEBUG(317, *YYCURSOR);
-               yyleng = YYCURSOR - SCNG(yy_text);
-#line 374 "Zend/zend_ini_scanner.l"
-               { /* Variable name */
-       RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
-}
-#line 4414 "Zend/zend_ini_scanner.c"
+               yych = *++YYCURSOR;
+               goto yy321;
 yy318:
                YYDEBUG(318, *YYCURSOR);
                ++YYCURSOR;
@@ -4421,7 +4432,7 @@ yy318:
        yy_pop_state(TSRMLS_C);
        return '}';
 }
-#line 4425 "Zend/zend_ini_scanner.c"
+#line 4436 "Zend/zend_ini_scanner.c"
 yy320:
                YYDEBUG(320, *YYCURSOR);
                ++YYCURSOR;
@@ -4432,7 +4443,7 @@ yy321:
                if (yybm[0+yych] & 128) {
                        goto yy320;
                }
-               goto yy317;
+               goto yy314;
        }
 }
 #line 501 "Zend/zend_ini_scanner.l"
index 8e28618ae579529903007a0ed69ca6ca9a5c28cd..ff1bf3f90983dd2cd13bef79897a3181db0c6024 100644 (file)
@@ -309,7 +309,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 624c0d57dc8b22e270fe6ce86f768598d4854978..009725b282c3673a3b85cf84b7ec25cf4e02899a 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.6.dev on Mon Feb  2 19:30:53 2009 */
+/* Generated by re2c 0.13.5 on Tue May 19 08:46:59 2009 */
 #line 3 "Zend/zend_ini_scanner_defs.h"
 
 enum YYCONDTYPE {