yy8:
YYDEBUG(8, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 629 "Zend/zend_ini_scanner.l"
+#line 636 "Zend/zend_ini_scanner.l"
{
/* eat whitespace */
goto restart;
yy10:
YYDEBUG(10, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 634 "Zend/zend_ini_scanner.l"
+#line 641 "Zend/zend_ini_scanner.l"
{
SCNG(lineno)++;
return END_OF_LINE;
++YYCURSOR;
YYDEBUG(15, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 557 "Zend/zend_ini_scanner.l"
+#line 564 "Zend/zend_ini_scanner.l"
{ /* Disallow these chars outside option values */
return yytext[0];
}
goto yy32;
YYDEBUG(17, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 650 "Zend/zend_ini_scanner.l"
+#line 657 "Zend/zend_ini_scanner.l"
{
return 0;
}
yy34:
YYDEBUG(34, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 639 "Zend/zend_ini_scanner.l"
+#line 646 "Zend/zend_ini_scanner.l"
{ /* Comment */
BEGIN(INITIAL);
SCNG(lineno)++;
yy64:
YYDEBUG(64, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 589 "Zend/zend_ini_scanner.l"
+#line 596 "Zend/zend_ini_scanner.l"
{ /* Escape double quoted string contents */
if (YYCURSOR > YYLIMIT) {
return 0;
}
YYDEBUG(67, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 584 "Zend/zend_ini_scanner.l"
+#line 591 "Zend/zend_ini_scanner.l"
{ /* Double quoted '"' string ends */
yy_pop_state();
return '"';
yy75:
YYDEBUG(75, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 575 "Zend/zend_ini_scanner.l"
+#line 582 "Zend/zend_ini_scanner.l"
{ /* Get rest as section/offset value */
RETURN_TOKEN(TC_STRING, yytext, yyleng);
}
yy79:
YYDEBUG(79, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 650 "Zend/zend_ini_scanner.l"
+#line 657 "Zend/zend_ini_scanner.l"
{
return 0;
}
++YYCURSOR;
YYDEBUG(81, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 579 "Zend/zend_ini_scanner.l"
+#line 586 "Zend/zend_ini_scanner.l"
{ /* Double quoted '"' string start */
yy_push_state(ST_DOUBLE_QUOTES);
return '"';
yy87:
YYDEBUG(87, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 553 "Zend/zend_ini_scanner.l"
+#line 560 "Zend/zend_ini_scanner.l"
{ /* Get number option value as string */
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
}
yy90:
YYDEBUG(90, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 549 "Zend/zend_ini_scanner.l"
+#line 556 "Zend/zend_ini_scanner.l"
{ /* Get constant option value */
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
}
++YYCURSOR;
YYDEBUG(110, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 645 "Zend/zend_ini_scanner.l"
+#line 652 "Zend/zend_ini_scanner.l"
{ /* End of option value (if EOF is reached before EOL */
BEGIN(INITIAL);
return END_OF_LINE;
#line 502 "Zend/zend_ini_scanner.l"
{ /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
unsigned char *sc = NULL;
+ EAT_LEADING_WHITESPACE();
while (YYCURSOR < YYLIMIT) {
switch (*YYCURSOR) {
case '\n':
if (sc == NULL) {
sc = YYCURSOR;
}
- /* no break */
+ YYCURSOR++;
+ break;
+ case '"':
+ if (yytext[0] == '"') {
+ sc = NULL;
+ }
+ YYCURSOR++;
+ break;
default:
YYCURSOR++;
break;
}
}
end_raw_value_chars:
- yyleng = YYCURSOR - SCNG(yy_text);
-
- /* Eat trailing semicolons */
- while (yytext[yyleng - 1] == ';') {
- yyleng--;
+ if (sc) {
+ yyleng = sc - SCNG(yy_text);
+ } else {
+ yyleng = YYCURSOR - SCNG(yy_text);
}
+ EAT_TRAILING_WHITESPACE();
+
/* Eat leading and trailing double quotes */
if (yyleng > 1 && yytext[0] == '"' && yytext[yyleng - 1] == '"') {
SCNG(yy_text)++;
yyleng = yyleng - 2;
- } else if (sc) {
- YYCURSOR = sc;
- yyleng = YYCURSOR - SCNG(yy_text);
}
+
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
-#line 1679 "Zend/zend_ini_scanner.c"
+#line 1686 "Zend/zend_ini_scanner.c"
yy113:
YYDEBUG(113, *YYCURSOR);
yych = *++YYCURSOR;
yy115:
YYDEBUG(115, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 543 "Zend/zend_ini_scanner.l"
+#line 550 "Zend/zend_ini_scanner.l"
{ /* End of option value */
BEGIN(INITIAL);
SCNG(lineno)++;
return END_OF_LINE;
}
-#line 1709 "Zend/zend_ini_scanner.c"
+#line 1716 "Zend/zend_ini_scanner.c"
yy116:
YYDEBUG(116, *YYCURSOR);
yych = *++YYCURSOR;
yy120:
YYDEBUG(120, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 629 "Zend/zend_ini_scanner.l"
+#line 636 "Zend/zend_ini_scanner.l"
{
/* eat whitespace */
goto restart;
}
-#line 1744 "Zend/zend_ini_scanner.c"
+#line 1751 "Zend/zend_ini_scanner.c"
yy121:
YYDEBUG(121, *YYCURSOR);
++YYCURSOR;
yy124:
YYDEBUG(124, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 639 "Zend/zend_ini_scanner.l"
+#line 646 "Zend/zend_ini_scanner.l"
{ /* Comment */
BEGIN(INITIAL);
SCNG(lineno)++;
return END_OF_LINE;
}
-#line 1768 "Zend/zend_ini_scanner.c"
+#line 1775 "Zend/zend_ini_scanner.c"
yy125:
YYDEBUG(125, *YYCURSOR);
++YYCURSOR;
}
YYDEBUG(130, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 539 "Zend/zend_ini_scanner.l"
+#line 546 "Zend/zend_ini_scanner.l"
{ /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
-#line 1835 "Zend/zend_ini_scanner.c"
+#line 1842 "Zend/zend_ini_scanner.c"
yy131:
YYDEBUG(131, *YYCURSOR);
++YYCURSOR;
YYDEBUG(132, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 650 "Zend/zend_ini_scanner.l"
+#line 657 "Zend/zend_ini_scanner.l"
{
return 0;
}
-#line 1845 "Zend/zend_ini_scanner.c"
+#line 1852 "Zend/zend_ini_scanner.c"
yy133:
YYDEBUG(133, *YYCURSOR);
++YYCURSOR;
SCNG(lineno)++;
return ']';
}
-#line 1867 "Zend/zend_ini_scanner.c"
+#line 1874 "Zend/zend_ini_scanner.c"
yy136:
YYDEBUG(136, *YYCURSOR);
yych = *++YYCURSOR;
yy142:
YYDEBUG(142, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 575 "Zend/zend_ini_scanner.l"
+#line 582 "Zend/zend_ini_scanner.l"
{ /* Get rest as section/offset value */
RETURN_TOKEN(TC_STRING, yytext, yyleng);
}
-#line 1980 "Zend/zend_ini_scanner.c"
+#line 1987 "Zend/zend_ini_scanner.c"
yy143:
YYDEBUG(143, *YYCURSOR);
yyaccept = 0;
yy146:
YYDEBUG(146, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 650 "Zend/zend_ini_scanner.l"
+#line 657 "Zend/zend_ini_scanner.l"
{
return 0;
}
-#line 2024 "Zend/zend_ini_scanner.c"
+#line 2031 "Zend/zend_ini_scanner.c"
yy147:
YYDEBUG(147, *YYCURSOR);
++YYCURSOR;
YYDEBUG(148, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 579 "Zend/zend_ini_scanner.l"
+#line 586 "Zend/zend_ini_scanner.l"
{ /* Double quoted '"' string start */
yy_push_state(ST_DOUBLE_QUOTES);
return '"';
}
-#line 2035 "Zend/zend_ini_scanner.c"
+#line 2042 "Zend/zend_ini_scanner.c"
yy149:
YYDEBUG(149, *YYCURSOR);
yych = *++YYCURSOR;
yy154:
YYDEBUG(154, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 553 "Zend/zend_ini_scanner.l"
+#line 560 "Zend/zend_ini_scanner.l"
{ /* Get number option value as string */
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
}
-#line 2105 "Zend/zend_ini_scanner.c"
+#line 2112 "Zend/zend_ini_scanner.c"
yy155:
YYDEBUG(155, *YYCURSOR);
yyaccept = 3;
yy157:
YYDEBUG(157, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 549 "Zend/zend_ini_scanner.l"
+#line 556 "Zend/zend_ini_scanner.l"
{ /* Get constant option value */
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
}
-#line 2142 "Zend/zend_ini_scanner.c"
+#line 2149 "Zend/zend_ini_scanner.c"
yy158:
YYDEBUG(158, *YYCURSOR);
yych = *++YYCURSOR;
SCNG(lineno)++;
return ']';
}
-#line 2170 "Zend/zend_ini_scanner.c"
+#line 2177 "Zend/zend_ini_scanner.c"
yy162:
YYDEBUG(162, *YYCURSOR);
++YYCURSOR;
yy_push_state(ST_VARNAME);
return TC_DOLLAR_CURLY;
}
-#line 2225 "Zend/zend_ini_scanner.c"
+#line 2232 "Zend/zend_ini_scanner.c"
yy169:
YYDEBUG(169, *YYCURSOR);
++YYCURSOR;
}
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
-#line 2297 "Zend/zend_ini_scanner.c"
+#line 2304 "Zend/zend_ini_scanner.c"
}
/* *********************************** */
yyc_ST_VALUE:
yy180:
YYDEBUG(180, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 645 "Zend/zend_ini_scanner.l"
+#line 652 "Zend/zend_ini_scanner.l"
{ /* End of option value (if EOF is reached before EOL */
BEGIN(INITIAL);
return END_OF_LINE;
}
-#line 2438 "Zend/zend_ini_scanner.c"
+#line 2445 "Zend/zend_ini_scanner.c"
yy181:
YYDEBUG(181, *YYCURSOR);
yyaccept = 0;
yy183:
YYDEBUG(183, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 571 "Zend/zend_ini_scanner.l"
+#line 578 "Zend/zend_ini_scanner.l"
{ /* Get everything else as option/offset value */
RETURN_TOKEN(TC_STRING, yytext, yyleng);
}
-#line 2459 "Zend/zend_ini_scanner.c"
+#line 2466 "Zend/zend_ini_scanner.c"
yy184:
YYDEBUG(184, *YYCURSOR);
yyaccept = 1;
yy186:
YYDEBUG(186, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 625 "Zend/zend_ini_scanner.l"
+#line 632 "Zend/zend_ini_scanner.l"
{
RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
}
-#line 2488 "Zend/zend_ini_scanner.c"
+#line 2495 "Zend/zend_ini_scanner.c"
yy187:
YYDEBUG(187, *YYCURSOR);
++YYCURSOR;
yy188:
YYDEBUG(188, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 543 "Zend/zend_ini_scanner.l"
+#line 550 "Zend/zend_ini_scanner.l"
{ /* End of option value */
BEGIN(INITIAL);
SCNG(lineno)++;
return END_OF_LINE;
}
-#line 2501 "Zend/zend_ini_scanner.c"
+#line 2508 "Zend/zend_ini_scanner.c"
yy189:
YYDEBUG(189, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == ' ') goto yy190;
YYDEBUG(192, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 561 "Zend/zend_ini_scanner.l"
+#line 568 "Zend/zend_ini_scanner.l"
{ /* Boolean operators */
return yytext[0];
}
-#line 2521 "Zend/zend_ini_scanner.c"
+#line 2528 "Zend/zend_ini_scanner.c"
yy193:
YYDEBUG(193, *YYCURSOR);
++YYCURSOR;
YYDEBUG(194, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 579 "Zend/zend_ini_scanner.l"
+#line 586 "Zend/zend_ini_scanner.l"
{ /* Double quoted '"' string start */
yy_push_state(ST_DOUBLE_QUOTES);
return '"';
}
-#line 2532 "Zend/zend_ini_scanner.c"
+#line 2539 "Zend/zend_ini_scanner.c"
yy195:
YYDEBUG(195, *YYCURSOR);
yych = *++YYCURSOR;
yy200:
YYDEBUG(200, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 553 "Zend/zend_ini_scanner.l"
+#line 560 "Zend/zend_ini_scanner.l"
{ /* Get number option value as string */
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
}
-#line 2611 "Zend/zend_ini_scanner.c"
+#line 2618 "Zend/zend_ini_scanner.c"
yy201:
YYDEBUG(201, *YYCURSOR);
yyaccept = 2;
++YYCURSOR;
YYDEBUG(203, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 565 "Zend/zend_ini_scanner.l"
+#line 572 "Zend/zend_ini_scanner.l"
{ /* Make = used in option value to trigger error */
yyless(0);
BEGIN(INITIAL);
return END_OF_LINE;
}
-#line 2628 "Zend/zend_ini_scanner.c"
+#line 2635 "Zend/zend_ini_scanner.c"
yy204:
YYDEBUG(204, *YYCURSOR);
yyaccept = 4;
yy206:
YYDEBUG(206, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 549 "Zend/zend_ini_scanner.l"
+#line 556 "Zend/zend_ini_scanner.l"
{ /* Get constant option value */
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
}
-#line 2679 "Zend/zend_ini_scanner.c"
+#line 2686 "Zend/zend_ini_scanner.c"
yy207:
YYDEBUG(207, *YYCURSOR);
yyaccept = 4;
yy_push_state(ST_VARNAME);
return TC_DOLLAR_CURLY;
}
-#line 3038 "Zend/zend_ini_scanner.c"
+#line 3045 "Zend/zend_ini_scanner.c"
yy219:
YYDEBUG(219, *YYCURSOR);
++YYCURSOR;
yy224:
YYDEBUG(224, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 639 "Zend/zend_ini_scanner.l"
+#line 646 "Zend/zend_ini_scanner.l"
{ /* Comment */
BEGIN(INITIAL);
SCNG(lineno)++;
return END_OF_LINE;
}
-#line 3110 "Zend/zend_ini_scanner.c"
+#line 3117 "Zend/zend_ini_scanner.c"
yy225:
YYDEBUG(225, *YYCURSOR);
yych = *++YYCURSOR;
{ /* FALSE value (when used outside option value/offset this causes parse error!)*/
RETURN_TOKEN(BOOL_FALSE, "", 0);
}
-#line 3225 "Zend/zend_ini_scanner.c"
+#line 3232 "Zend/zend_ini_scanner.c"
yy229:
YYDEBUG(229, *YYCURSOR);
yyaccept = 4;
{ /* TRUE value (when used outside option value/offset this causes parse error!) */
RETURN_TOKEN(BOOL_TRUE, "1", 1);
}
-#line 3376 "Zend/zend_ini_scanner.c"
+#line 3383 "Zend/zend_ini_scanner.c"
yy233:
YYDEBUG(233, *YYCURSOR);
yyaccept = 4;
}
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
-#line 3505 "Zend/zend_ini_scanner.c"
+#line 3512 "Zend/zend_ini_scanner.c"
yy239:
YYDEBUG(239, *YYCURSOR);
yyaccept = 4;
{
RETURN_TOKEN(NULL_NULL, "", 0);
}
-#line 3824 "Zend/zend_ini_scanner.c"
+#line 3831 "Zend/zend_ini_scanner.c"
yy250:
YYDEBUG(250, *YYCURSOR);
++YYCURSOR;
RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
}
-#line 3901 "Zend/zend_ini_scanner.c"
+#line 3908 "Zend/zend_ini_scanner.c"
yy257:
YYDEBUG(257, *YYCURSOR);
++YYCURSOR;
YYDEBUG(258, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 650 "Zend/zend_ini_scanner.l"
+#line 657 "Zend/zend_ini_scanner.l"
{
return 0;
}
-#line 3911 "Zend/zend_ini_scanner.c"
+#line 3918 "Zend/zend_ini_scanner.c"
yy259:
YYDEBUG(259, *YYCURSOR);
++YYCURSOR;
yy_pop_state();
return '}';
}
-#line 3922 "Zend/zend_ini_scanner.c"
+#line 3929 "Zend/zend_ini_scanner.c"
}
}
-#line 654 "Zend/zend_ini_scanner.l"
+#line 661 "Zend/zend_ini_scanner.l"
}