diff options
-rw-r--r-- | Zend/zend_ini_scanner.c | 237 | ||||
-rw-r--r-- | Zend/zend_ini_scanner.l | 7 | ||||
-rw-r--r-- | Zend/zend_ini_scanner_defs.h | 2 |
3 files changed, 130 insertions, 116 deletions
diff --git a/Zend/zend_ini_scanner.c b/Zend/zend_ini_scanner.c index cdfb643632..f6ac761f0f 100644 --- a/Zend/zend_ini_scanner.c +++ b/Zend/zend_ini_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Wed Nov 5 22:35:51 2008 */ +/* Generated by re2c 0.13.5 on Wed Dec 24 13:47:34 2008 */ #line 1 "Zend/zend_ini_scanner.l" /* +----------------------------------------------------------------------+ @@ -293,8 +293,15 @@ restart: return 0; } + /* Eat any UTF-8 BOM we find in the first 3 bytes */ + if (YYCURSOR == SCNG(yy_start) && YYCURSOR + 3 < YYLIMIT) { + if (memcmp(YYCURSOR, "\xef\xbb\xbf", 3) == 0) { + YYCURSOR += 3; + goto restart; + } + } -#line 298 "Zend/zend_ini_scanner.c" +#line 305 "Zend/zend_ini_scanner.c" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -473,11 +480,11 @@ yy2: ++YYCURSOR; YYDEBUG(3, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 495 "Zend/zend_ini_scanner.l" +#line 502 "Zend/zend_ini_scanner.l" { return 0; } -#line 481 "Zend/zend_ini_scanner.c" +#line 488 "Zend/zend_ini_scanner.c" yy4: YYDEBUG(4, *YYCURSOR); yyaccept = 0; @@ -486,24 +493,24 @@ yy4: yy5: YYDEBUG(5, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 467 "Zend/zend_ini_scanner.l" +#line 474 "Zend/zend_ini_scanner.l" { /* eat whitespace */ goto restart; } -#line 495 "Zend/zend_ini_scanner.c" +#line 502 "Zend/zend_ini_scanner.c" yy6: YYDEBUG(6, *YYCURSOR); ++YYCURSOR; yy7: YYDEBUG(7, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 472 "Zend/zend_ini_scanner.l" +#line 479 "Zend/zend_ini_scanner.l" { SCNG(lineno)++; return END_OF_LINE; } -#line 507 "Zend/zend_ini_scanner.c" +#line 514 "Zend/zend_ini_scanner.c" yy8: YYDEBUG(8, *YYCURSOR); yych = *++YYCURSOR; @@ -514,11 +521,11 @@ yy9: ++YYCURSOR; YYDEBUG(10, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 422 "Zend/zend_ini_scanner.l" +#line 429 "Zend/zend_ini_scanner.l" { /* Disallow these chars outside option values */ return yytext[0]; } -#line 522 "Zend/zend_ini_scanner.c" +#line 529 "Zend/zend_ini_scanner.c" yy11: YYDEBUG(11, *YYCURSOR); yyaccept = 1; @@ -532,11 +539,11 @@ yy12: yy13: YYDEBUG(13, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 382 "Zend/zend_ini_scanner.l" +#line 389 "Zend/zend_ini_scanner.l" { /* Get option name */ RETURN_TOKEN(TC_LABEL, yytext, yyleng); } -#line 540 "Zend/zend_ini_scanner.c" +#line 547 "Zend/zend_ini_scanner.c" yy14: YYDEBUG(14, *YYCURSOR); yyaccept = 1; @@ -550,7 +557,7 @@ yy15: yy16: YYDEBUG(16, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 386 "Zend/zend_ini_scanner.l" +#line 393 "Zend/zend_ini_scanner.l" { /* Start option value */ if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) { yy_push_state(ST_RAW TSRMLS_CC); @@ -559,7 +566,7 @@ yy16: } return '='; } -#line 563 "Zend/zend_ini_scanner.c" +#line 570 "Zend/zend_ini_scanner.c" yy17: YYDEBUG(17, *YYCURSOR); yych = *++YYCURSOR; @@ -615,7 +622,7 @@ yy22: ++YYCURSOR; YYDEBUG(23, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 320 "Zend/zend_ini_scanner.l" +#line 327 "Zend/zend_ini_scanner.l" { /* Section start */ /* Enter section data lookup state */ if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) { @@ -625,7 +632,7 @@ yy22: } return TC_SECTION; } -#line 629 "Zend/zend_ini_scanner.c" +#line 636 "Zend/zend_ini_scanner.c" yy24: YYDEBUG(24, *YYCURSOR); ++YYCURSOR; @@ -655,7 +662,7 @@ yy27: } YYDEBUG(29, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 345 "Zend/zend_ini_scanner.l" +#line 352 "Zend/zend_ini_scanner.l" { /* Start of option with offset */ /* Eat trailing whitespace and [ */ EAT_TRAILING_WHITESPACE_EX('['); @@ -665,7 +672,7 @@ yy27: RETURN_TOKEN(TC_OFFSET, yytext, yyleng); } -#line 669 "Zend/zend_ini_scanner.c" +#line 676 "Zend/zend_ini_scanner.c" yy30: YYDEBUG(30, *YYCURSOR); ++YYCURSOR; @@ -677,11 +684,11 @@ yy30: yy31: YYDEBUG(31, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 374 "Zend/zend_ini_scanner.l" +#line 381 "Zend/zend_ini_scanner.l" { /* TRUE value (when used outside option value/offset this causes parse error!) */ RETURN_TOKEN(BOOL_TRUE, "1", 1); } -#line 685 "Zend/zend_ini_scanner.c" +#line 692 "Zend/zend_ini_scanner.c" yy32: YYDEBUG(32, *YYCURSOR); ++YYCURSOR; @@ -719,11 +726,11 @@ yy37: yy38: YYDEBUG(38, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 378 "Zend/zend_ini_scanner.l" +#line 385 "Zend/zend_ini_scanner.l" { /* FALSE value (when used outside option value/offset this causes parse error!)*/ RETURN_TOKEN(BOOL_FALSE, "", 0); } -#line 727 "Zend/zend_ini_scanner.c" +#line 734 "Zend/zend_ini_scanner.c" yy39: YYDEBUG(39, *YYCURSOR); ++YYCURSOR; @@ -818,13 +825,13 @@ yy52: yy53: YYDEBUG(53, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 477 "Zend/zend_ini_scanner.l" +#line 484 "Zend/zend_ini_scanner.l" { /* Comment */ BEGIN(INITIAL); SCNG(lineno)++; return END_OF_LINE; } -#line 828 "Zend/zend_ini_scanner.c" +#line 835 "Zend/zend_ini_scanner.c" yy54: YYDEBUG(54, *YYCURSOR); yych = *++YYCURSOR; @@ -846,14 +853,14 @@ yy57: yy58: YYDEBUG(58, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 483 "Zend/zend_ini_scanner.l" +#line 490 "Zend/zend_ini_scanner.l" { /* #Comment */ zend_error(E_DEPRECATED, "Comments starting with '#' are deprecated in %s on line %d", zend_ini_scanner_get_filename(TSRMLS_C), SCNG(lineno)); BEGIN(INITIAL); SCNG(lineno)++; return END_OF_LINE; } -#line 857 "Zend/zend_ini_scanner.c" +#line 864 "Zend/zend_ini_scanner.c" yy59: YYDEBUG(59, *YYCURSOR); yych = *++YYCURSOR; @@ -950,7 +957,7 @@ yyc_ST_DOUBLE_QUOTES: yy67: YYDEBUG(67, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 449 "Zend/zend_ini_scanner.l" +#line 456 "Zend/zend_ini_scanner.l" { /* Escape double quoted string contents */ if(yyleng > 1 && yytext[yyleng-1] == '"' && yytext[yyleng-2] == '\\') { yyless(yyleng-1); @@ -959,7 +966,7 @@ yy67: zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC); return TC_QUOTED_STRING; } -#line 963 "Zend/zend_ini_scanner.c" +#line 970 "Zend/zend_ini_scanner.c" yy68: YYDEBUG(68, *YYCURSOR); ++YYCURSOR; @@ -968,12 +975,12 @@ yy68: yy69: YYDEBUG(69, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 458 "Zend/zend_ini_scanner.l" +#line 465 "Zend/zend_ini_scanner.l" { /* Double quoted '"' string ends */ yy_pop_state(TSRMLS_C); return '"'; } -#line 977 "Zend/zend_ini_scanner.c" +#line 984 "Zend/zend_ini_scanner.c" yy70: YYDEBUG(70, *YYCURSOR); ++YYCURSOR; @@ -988,11 +995,11 @@ yy70: yy71: YYDEBUG(71, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 495 "Zend/zend_ini_scanner.l" +#line 502 "Zend/zend_ini_scanner.l" { return 0; } -#line 996 "Zend/zend_ini_scanner.c" +#line 1003 "Zend/zend_ini_scanner.c" yy72: YYDEBUG(72, *YYCURSOR); yyaccept = 1; @@ -1108,12 +1115,12 @@ yy87: ++YYCURSOR; YYDEBUG(88, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 360 "Zend/zend_ini_scanner.l" +#line 367 "Zend/zend_ini_scanner.l" { /* Variable start */ yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 1117 "Zend/zend_ini_scanner.c" +#line 1124 "Zend/zend_ini_scanner.c" yy89: YYDEBUG(89, *YYCURSOR); ++YYCURSOR; @@ -1212,11 +1219,11 @@ yy93: yy94: YYDEBUG(94, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 440 "Zend/zend_ini_scanner.l" +#line 447 "Zend/zend_ini_scanner.l" { /* Get rest as section/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 1220 "Zend/zend_ini_scanner.c" +#line 1227 "Zend/zend_ini_scanner.c" yy95: YYDEBUG(95, *YYCURSOR); yyaccept = 0; @@ -1233,23 +1240,23 @@ yy96: yy97: YYDEBUG(97, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 495 "Zend/zend_ini_scanner.l" +#line 502 "Zend/zend_ini_scanner.l" { return 0; } -#line 1241 "Zend/zend_ini_scanner.c" +#line 1248 "Zend/zend_ini_scanner.c" yy98: YYDEBUG(98, *YYCURSOR); ++YYCURSOR; yy99: YYDEBUG(99, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 444 "Zend/zend_ini_scanner.l" +#line 451 "Zend/zend_ini_scanner.l" { /* Double quoted '"' string start */ yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 1253 "Zend/zend_ini_scanner.c" +#line 1260 "Zend/zend_ini_scanner.c" yy100: YYDEBUG(100, *YYCURSOR); yych = *++YYCURSOR; @@ -1311,11 +1318,11 @@ yy104: yy105: YYDEBUG(105, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 418 "Zend/zend_ini_scanner.l" +#line 425 "Zend/zend_ini_scanner.l" { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 1319 "Zend/zend_ini_scanner.c" +#line 1326 "Zend/zend_ini_scanner.c" yy106: YYDEBUG(106, *YYCURSOR); yyaccept = 3; @@ -1341,11 +1348,11 @@ yy106: yy107: YYDEBUG(107, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 414 "Zend/zend_ini_scanner.l" +#line 421 "Zend/zend_ini_scanner.l" { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 1349 "Zend/zend_ini_scanner.c" +#line 1356 "Zend/zend_ini_scanner.c" yy108: YYDEBUG(108, *YYCURSOR); yych = *++YYCURSOR; @@ -1356,12 +1363,12 @@ yy109: yy110: YYDEBUG(110, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 355 "Zend/zend_ini_scanner.l" +#line 362 "Zend/zend_ini_scanner.l" { /* End of section or an option offset */ BEGIN(INITIAL); return ']'; } -#line 1365 "Zend/zend_ini_scanner.c" +#line 1372 "Zend/zend_ini_scanner.c" yy111: YYDEBUG(111, *YYCURSOR); yyaccept = 0; @@ -1651,7 +1658,7 @@ yy132: ++YYCURSOR; YYDEBUG(135, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 330 "Zend/zend_ini_scanner.l" +#line 337 "Zend/zend_ini_scanner.l" { /* Raw string */ /* Eat leading and trailing single quotes */ if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') { @@ -1660,18 +1667,18 @@ yy132: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 1664 "Zend/zend_ini_scanner.c" +#line 1671 "Zend/zend_ini_scanner.c" yy136: YYDEBUG(136, *YYCURSOR); ++YYCURSOR; YYDEBUG(137, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 360 "Zend/zend_ini_scanner.l" +#line 367 "Zend/zend_ini_scanner.l" { /* Variable start */ yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 1675 "Zend/zend_ini_scanner.c" +#line 1682 "Zend/zend_ini_scanner.c" yy138: YYDEBUG(138, *YYCURSOR); yyaccept = 0; @@ -1778,7 +1785,7 @@ yy144: yy145: YYDEBUG(145, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 395 "Zend/zend_ini_scanner.l" +#line 402 "Zend/zend_ini_scanner.l" { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ /* Eat leading and trailing double quotes */ if (yytext[0] == '"' && yytext[yyleng - 1] == '"') { @@ -1787,7 +1794,7 @@ yy145: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 1791 "Zend/zend_ini_scanner.c" +#line 1798 "Zend/zend_ini_scanner.c" yy146: YYDEBUG(146, *YYCURSOR); yyaccept = 0; @@ -1809,13 +1816,13 @@ yy147: yy148: YYDEBUG(148, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 408 "Zend/zend_ini_scanner.l" +#line 415 "Zend/zend_ini_scanner.l" { /* End of option value */ BEGIN(INITIAL); SCNG(lineno)++; return END_OF_LINE; } -#line 1819 "Zend/zend_ini_scanner.c" +#line 1826 "Zend/zend_ini_scanner.c" yy149: YYDEBUG(149, *YYCURSOR); yych = *++YYCURSOR; @@ -1829,12 +1836,12 @@ yy150: yy151: YYDEBUG(151, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 490 "Zend/zend_ini_scanner.l" +#line 497 "Zend/zend_ini_scanner.l" { /* End of option value (if EOF is reached before EOL */ BEGIN(INITIAL); return END_OF_LINE; } -#line 1838 "Zend/zend_ini_scanner.c" +#line 1845 "Zend/zend_ini_scanner.c" yy152: YYDEBUG(152, *YYCURSOR); yych = *++YYCURSOR; @@ -1856,13 +1863,13 @@ yy155: yy156: YYDEBUG(156, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 477 "Zend/zend_ini_scanner.l" +#line 484 "Zend/zend_ini_scanner.l" { /* Comment */ BEGIN(INITIAL); SCNG(lineno)++; return END_OF_LINE; } -#line 1866 "Zend/zend_ini_scanner.c" +#line 1873 "Zend/zend_ini_scanner.c" yy157: YYDEBUG(157, *YYCURSOR); yych = *++YYCURSOR; @@ -1964,21 +1971,21 @@ yyc_ST_SECTION_RAW: yy167: YYDEBUG(167, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 404 "Zend/zend_ini_scanner.l" +#line 411 "Zend/zend_ini_scanner.l" { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 1972 "Zend/zend_ini_scanner.c" +#line 1979 "Zend/zend_ini_scanner.c" yy168: YYDEBUG(168, *YYCURSOR); ++YYCURSOR; YYDEBUG(169, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 495 "Zend/zend_ini_scanner.l" +#line 502 "Zend/zend_ini_scanner.l" { return 0; } -#line 1982 "Zend/zend_ini_scanner.c" +#line 1989 "Zend/zend_ini_scanner.c" yy170: YYDEBUG(170, *YYCURSOR); ++YYCURSOR; @@ -1987,13 +1994,13 @@ yy170: yy171: YYDEBUG(171, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 339 "Zend/zend_ini_scanner.l" +#line 346 "Zend/zend_ini_scanner.l" { /* End of section */ BEGIN(INITIAL); SCNG(lineno)++; return ']'; } -#line 1997 "Zend/zend_ini_scanner.c" +#line 2004 "Zend/zend_ini_scanner.c" yy172: YYDEBUG(172, *YYCURSOR); ++YYCURSOR; @@ -2114,11 +2121,11 @@ yy180: yy181: YYDEBUG(181, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 440 "Zend/zend_ini_scanner.l" +#line 447 "Zend/zend_ini_scanner.l" { /* Get rest as section/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 2122 "Zend/zend_ini_scanner.c" +#line 2129 "Zend/zend_ini_scanner.c" yy182: YYDEBUG(182, *YYCURSOR); yyaccept = 0; @@ -2137,23 +2144,23 @@ yy183: yy184: YYDEBUG(184, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 495 "Zend/zend_ini_scanner.l" +#line 502 "Zend/zend_ini_scanner.l" { return 0; } -#line 2145 "Zend/zend_ini_scanner.c" +#line 2152 "Zend/zend_ini_scanner.c" yy185: YYDEBUG(185, *YYCURSOR); ++YYCURSOR; yy186: YYDEBUG(186, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 444 "Zend/zend_ini_scanner.l" +#line 451 "Zend/zend_ini_scanner.l" { /* Double quoted '"' string start */ yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 2157 "Zend/zend_ini_scanner.c" +#line 2164 "Zend/zend_ini_scanner.c" yy187: YYDEBUG(187, *YYCURSOR); yych = *++YYCURSOR; @@ -2215,11 +2222,11 @@ yy191: yy192: YYDEBUG(192, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 418 "Zend/zend_ini_scanner.l" +#line 425 "Zend/zend_ini_scanner.l" { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 2223 "Zend/zend_ini_scanner.c" +#line 2230 "Zend/zend_ini_scanner.c" yy193: YYDEBUG(193, *YYCURSOR); yyaccept = 3; @@ -2245,11 +2252,11 @@ yy193: yy194: YYDEBUG(194, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 414 "Zend/zend_ini_scanner.l" +#line 421 "Zend/zend_ini_scanner.l" { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 2253 "Zend/zend_ini_scanner.c" +#line 2260 "Zend/zend_ini_scanner.c" yy195: YYDEBUG(195, *YYCURSOR); yych = *++YYCURSOR; @@ -2262,13 +2269,13 @@ yy196: yy197: YYDEBUG(197, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 339 "Zend/zend_ini_scanner.l" +#line 346 "Zend/zend_ini_scanner.l" { /* End of section */ BEGIN(INITIAL); SCNG(lineno)++; return ']'; } -#line 2272 "Zend/zend_ini_scanner.c" +#line 2279 "Zend/zend_ini_scanner.c" yy198: YYDEBUG(198, *YYCURSOR); ++YYCURSOR; @@ -2580,7 +2587,7 @@ yy223: ++YYCURSOR; YYDEBUG(226, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 330 "Zend/zend_ini_scanner.l" +#line 337 "Zend/zend_ini_scanner.l" { /* Raw string */ /* Eat leading and trailing single quotes */ if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') { @@ -2589,18 +2596,18 @@ yy223: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 2593 "Zend/zend_ini_scanner.c" +#line 2600 "Zend/zend_ini_scanner.c" yy227: YYDEBUG(227, *YYCURSOR); ++YYCURSOR; YYDEBUG(228, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 360 "Zend/zend_ini_scanner.l" +#line 367 "Zend/zend_ini_scanner.l" { /* Variable start */ yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 2604 "Zend/zend_ini_scanner.c" +#line 2611 "Zend/zend_ini_scanner.c" yy229: YYDEBUG(229, *YYCURSOR); yyaccept = 0; @@ -2779,12 +2786,12 @@ yy234: yy235: YYDEBUG(235, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 490 "Zend/zend_ini_scanner.l" +#line 497 "Zend/zend_ini_scanner.l" { /* End of option value (if EOF is reached before EOL */ BEGIN(INITIAL); return END_OF_LINE; } -#line 2788 "Zend/zend_ini_scanner.c" +#line 2795 "Zend/zend_ini_scanner.c" yy236: YYDEBUG(236, *YYCURSOR); yyaccept = 0; @@ -2793,11 +2800,11 @@ yy236: yy237: YYDEBUG(237, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 436 "Zend/zend_ini_scanner.l" +#line 443 "Zend/zend_ini_scanner.l" { /* Get everything else as option/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 2801 "Zend/zend_ini_scanner.c" +#line 2808 "Zend/zend_ini_scanner.c" yy238: YYDEBUG(238, *YYCURSOR); yyaccept = 1; @@ -2806,24 +2813,24 @@ yy238: yy239: YYDEBUG(239, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 463 "Zend/zend_ini_scanner.l" +#line 470 "Zend/zend_ini_scanner.l" { RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng); } -#line 2814 "Zend/zend_ini_scanner.c" +#line 2821 "Zend/zend_ini_scanner.c" yy240: YYDEBUG(240, *YYCURSOR); ++YYCURSOR; yy241: YYDEBUG(241, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 408 "Zend/zend_ini_scanner.l" +#line 415 "Zend/zend_ini_scanner.l" { /* End of option value */ BEGIN(INITIAL); SCNG(lineno)++; return END_OF_LINE; } -#line 2827 "Zend/zend_ini_scanner.c" +#line 2834 "Zend/zend_ini_scanner.c" yy242: YYDEBUG(242, *YYCURSOR); yych = *++YYCURSOR; @@ -2837,23 +2844,23 @@ yy243: yy244: YYDEBUG(244, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 426 "Zend/zend_ini_scanner.l" +#line 433 "Zend/zend_ini_scanner.l" { /* Boolean operators */ return yytext[0]; } -#line 2845 "Zend/zend_ini_scanner.c" +#line 2852 "Zend/zend_ini_scanner.c" yy245: YYDEBUG(245, *YYCURSOR); ++YYCURSOR; yy246: YYDEBUG(246, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 444 "Zend/zend_ini_scanner.l" +#line 451 "Zend/zend_ini_scanner.l" { /* Double quoted '"' string start */ yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 2857 "Zend/zend_ini_scanner.c" +#line 2864 "Zend/zend_ini_scanner.c" yy247: YYDEBUG(247, *YYCURSOR); yych = *++YYCURSOR; @@ -2929,11 +2936,11 @@ yy251: yy252: YYDEBUG(252, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 418 "Zend/zend_ini_scanner.l" +#line 425 "Zend/zend_ini_scanner.l" { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 2937 "Zend/zend_ini_scanner.c" +#line 2944 "Zend/zend_ini_scanner.c" yy253: YYDEBUG(253, *YYCURSOR); yyaccept = 2; @@ -2944,13 +2951,13 @@ yy254: ++YYCURSOR; YYDEBUG(255, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 430 "Zend/zend_ini_scanner.l" +#line 437 "Zend/zend_ini_scanner.l" { /* Make = used in option value to trigger error */ yyless(0); BEGIN(INITIAL); return END_OF_LINE; } -#line 2954 "Zend/zend_ini_scanner.c" +#line 2961 "Zend/zend_ini_scanner.c" yy256: YYDEBUG(256, *YYCURSOR); yyaccept = 4; @@ -2986,11 +2993,11 @@ yy256: yy257: YYDEBUG(257, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 414 "Zend/zend_ini_scanner.l" +#line 421 "Zend/zend_ini_scanner.l" { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 2994 "Zend/zend_ini_scanner.c" +#line 3001 "Zend/zend_ini_scanner.c" yy258: YYDEBUG(258, *YYCURSOR); yyaccept = 4; @@ -3482,11 +3489,11 @@ yy273: yy274: YYDEBUG(274, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 374 "Zend/zend_ini_scanner.l" +#line 381 "Zend/zend_ini_scanner.l" { /* TRUE value (when used outside option value/offset this causes parse error!) */ RETURN_TOKEN(BOOL_TRUE, "1", 1); } -#line 3490 "Zend/zend_ini_scanner.c" +#line 3497 "Zend/zend_ini_scanner.c" yy275: YYDEBUG(275, *YYCURSOR); ++YYCURSOR; @@ -3686,11 +3693,11 @@ yy280: yy281: YYDEBUG(281, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 378 "Zend/zend_ini_scanner.l" +#line 385 "Zend/zend_ini_scanner.l" { /* FALSE value (when used outside option value/offset this causes parse error!)*/ RETURN_TOKEN(BOOL_FALSE, "", 0); } -#line 3694 "Zend/zend_ini_scanner.c" +#line 3701 "Zend/zend_ini_scanner.c" yy282: YYDEBUG(282, *YYCURSOR); ++YYCURSOR; @@ -4066,13 +4073,13 @@ yy293: yy294: YYDEBUG(294, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 477 "Zend/zend_ini_scanner.l" +#line 484 "Zend/zend_ini_scanner.l" { /* Comment */ BEGIN(INITIAL); SCNG(lineno)++; return END_OF_LINE; } -#line 4076 "Zend/zend_ini_scanner.c" +#line 4083 "Zend/zend_ini_scanner.c" yy295: YYDEBUG(295, *YYCURSOR); yych = *++YYCURSOR; @@ -4284,7 +4291,7 @@ yy304: ++YYCURSOR; YYDEBUG(307, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 330 "Zend/zend_ini_scanner.l" +#line 337 "Zend/zend_ini_scanner.l" { /* Raw string */ /* Eat leading and trailing single quotes */ if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') { @@ -4293,18 +4300,18 @@ yy304: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 4297 "Zend/zend_ini_scanner.c" +#line 4304 "Zend/zend_ini_scanner.c" yy308: YYDEBUG(308, *YYCURSOR); ++YYCURSOR; YYDEBUG(309, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 360 "Zend/zend_ini_scanner.l" +#line 367 "Zend/zend_ini_scanner.l" { /* Variable start */ yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 4308 "Zend/zend_ini_scanner.c" +#line 4315 "Zend/zend_ini_scanner.c" yy310: YYDEBUG(310, *YYCURSOR); ++YYCURSOR; @@ -4413,11 +4420,11 @@ yy319: ++YYCURSOR; YYDEBUG(320, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 495 "Zend/zend_ini_scanner.l" +#line 502 "Zend/zend_ini_scanner.l" { return 0; } -#line 4421 "Zend/zend_ini_scanner.c" +#line 4428 "Zend/zend_ini_scanner.c" yy321: YYDEBUG(321, *YYCURSOR); ++YYCURSOR; @@ -4426,22 +4433,22 @@ yy321: yy322: YYDEBUG(322, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 365 "Zend/zend_ini_scanner.l" +#line 372 "Zend/zend_ini_scanner.l" { /* Variable name */ RETURN_TOKEN(TC_VARNAME, yytext, yyleng); } -#line 4434 "Zend/zend_ini_scanner.c" +#line 4441 "Zend/zend_ini_scanner.c" yy323: YYDEBUG(323, *YYCURSOR); ++YYCURSOR; YYDEBUG(324, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 369 "Zend/zend_ini_scanner.l" +#line 376 "Zend/zend_ini_scanner.l" { /* Variable end */ yy_pop_state(TSRMLS_C); return '}'; } -#line 4445 "Zend/zend_ini_scanner.c" +#line 4452 "Zend/zend_ini_scanner.c" yy325: YYDEBUG(325, *YYCURSOR); ++YYCURSOR; @@ -4455,6 +4462,6 @@ yy326: goto yy322; } } -#line 499 "Zend/zend_ini_scanner.l" +#line 506 "Zend/zend_ini_scanner.l" } diff --git a/Zend/zend_ini_scanner.l b/Zend/zend_ini_scanner.l index 4782383030..f0afc28105 100644 --- a/Zend/zend_ini_scanner.l +++ b/Zend/zend_ini_scanner.l @@ -291,6 +291,13 @@ restart: return 0; } + /* Eat any UTF-8 BOM we find in the first 3 bytes */ + if (YYCURSOR == SCNG(yy_start) && YYCURSOR + 3 < YYLIMIT) { + if (memcmp(YYCURSOR, "\xef\xbb\xbf", 3) == 0) { + YYCURSOR += 3; + goto restart; + } + } /*!re2c re2c:yyfill:check = 0; LNUM [0-9]+ diff --git a/Zend/zend_ini_scanner_defs.h b/Zend/zend_ini_scanner_defs.h index 97d3a07b44..45d22f2be2 100644 --- a/Zend/zend_ini_scanner_defs.h +++ b/Zend/zend_ini_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Wed Nov 5 22:35:51 2008 */ +/* Generated by re2c 0.13.5 on Wed Dec 24 13:47:34 2008 */ #line 3 "Zend/zend_ini_scanner_defs.h" enum YYCONDTYPE { |