]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.2' into PHP-7.3
authorPierrick Charron <pierrick@php.net>
Tue, 9 Oct 2018 05:26:55 +0000 (01:26 -0400)
committerPierrick Charron <pierrick@php.net>
Tue, 9 Oct 2018 05:26:55 +0000 (01:26 -0400)
1  2 
NEWS
Zend/zend_ini_scanner.c
Zend/zend_ini_scanner.l

diff --cc NEWS
index 4be6eb2ca39792879e1bb0e0a770caca42c76355,08f6b37c6e7e514f5173f8800aa578ba307b8b33..f3d6c0c71d0b65dc275fdeb25522efd22a09b404
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -59,35 -49,6 +59,37 @@@ PH
    . Fixed bug #66828 (iconv_mime_encode Q-encoding longer than it should be).
      (cmb)
  
 +- Opcache:
 +  . Fixed bug #76711 (OPcache enabled triggers false-positive "Illegal string
 +   offset"). (Dmitry)
 +
 +- PCRE:
 +  . Upgrade PCRE2 to 10.32. (Anatol)
 +  . Fixed bug #76909 (preg_match difference between 7.3 and < 7.3). (Anatol)
 +
 +- Standard:
 +  . Fixed bug #75533 (array_reduce is slow when $carry is large array).
 +    (Manabu Matsui)
++  . Fixed bug #76965 (INI_SCANNER_RAW doesn't strip trailing whitespace).
++    (Pierrick)
 +
 +- XMLRPC:
 +  . Fixed bug #76886 (Can't build xmlrpc with expat). (Thomas Petazzoni, cmb)
 +
 +13 Sep 2018, PHP 7.3.0RC1
 +
 +- Core:
 +  . Fixed bug #76825 (Undefined symbols ___cpuid_count). (Laruence)
 +  . Fixed bug #76820 (Z_COPYABLE invalid definition). (mvdwerve, cmb)
 +  . Fixed bug #76510 (file_exists() stopped working for phar://). (cmb)
 +
 +- intl:
 +  . Fixed bug #76829 (Incorrect validation of domain on idn_to_utf8()
 +    function). (Anatol)
 +
 +- MBString:
 +  . Updated to Oniguruma 6.9.0. (cmb)
 +
  - Opcache:
    . Fixed bug #76832 (ZendOPcache.MemoryBase periodically deleted by the OS).
      (Anatol)
index cbf2ede93a6fe6f25aee162f91882f0d2ffc792b,a77abdba6ce1837632d778cfcb8bd8a08cb5b05e..9ffae6941d17ef1e883dee13ac13f34e4273becf
@@@ -538,7 -539,7 +538,7 @@@ yy6
  yy8:
                YYDEBUG(8, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 627 "Zend/zend_ini_scanner.l"
 -#line 636 "Zend/zend_ini_scanner.l"
++#line 634 "Zend/zend_ini_scanner.l"
                {
        /* eat whitespace */
        goto restart;
@@@ -550,7 -551,7 +550,7 @@@ yy9
  yy10:
                YYDEBUG(10, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 632 "Zend/zend_ini_scanner.l"
 -#line 641 "Zend/zend_ini_scanner.l"
++#line 639 "Zend/zend_ini_scanner.l"
                {
        SCNG(lineno)++;
        return END_OF_LINE;
@@@ -616,7 -617,7 +616,7 @@@ yy14
                ++YYCURSOR;
                YYDEBUG(15, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 555 "Zend/zend_ini_scanner.l"
 -#line 564 "Zend/zend_ini_scanner.l"
++#line 562 "Zend/zend_ini_scanner.l"
                { /* Disallow these chars outside option values */
        return yytext[0];
  }
@@@ -745,10 -747,21 +745,10 @@@ yy28
  yy31:
                YYDEBUG(31, *YYCURSOR);
                ++YYCURSOR;
 -              YYFILL(2);
 -              yych = *YYCURSOR;
  yy32:
                YYDEBUG(32, *YYCURSOR);
 -              if (yybm[0+yych] & 128) {
 -                      goto yy31;
 -              }
 -              if (yych >= '\v') goto yy35;
 -yy33:
 -              YYDEBUG(33, *YYCURSOR);
 -              ++YYCURSOR;
 -yy34:
 -              YYDEBUG(34, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 637 "Zend/zend_ini_scanner.l"
 -#line 646 "Zend/zend_ini_scanner.l"
++#line 644 "Zend/zend_ini_scanner.l"
                { /* Comment */
        BEGIN(INITIAL);
        SCNG(lineno)++;
@@@ -1122,19 -1251,19 +1122,19 @@@ yy61
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -yy74:
 -              YYDEBUG(74, *YYCURSOR);
 +yy62:
 +              YYDEBUG(62, *YYCURSOR);
                if (yybm[0+yych] & 4) {
 -                      goto yy73;
 +                      goto yy61;
                }
 -              if (yych <= '"') goto yy75;
 -              if (yych <= '$') goto yy94;
 -              if (yych <= ';') goto yy75;
 -              if (yych <= '\\') goto yy96;
 -yy75:
 -              YYDEBUG(75, *YYCURSOR);
 +              if (yych <= '"') goto yy63;
 +              if (yych <= '$') goto yy82;
 +              if (yych <= ';') goto yy63;
 +              if (yych <= '\\') goto yy79;
 +yy63:
 +              YYDEBUG(63, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 573 "Zend/zend_ini_scanner.l"
 -#line 582 "Zend/zend_ini_scanner.l"
++#line 580 "Zend/zend_ini_scanner.l"
                { /* Get rest as section/offset value */
        RETURN_TOKEN(TC_STRING, yytext, yyleng);
  }
@@@ -1162,33 -1291,33 +1162,33 @@@ yy64
                        }
                } else {
                        if (yych <= ';') {
 -                              if (yych == '\'') goto yy75;
 -                              if (yych <= ':') goto yy73;
 -                              goto yy75;
 +                              if (yych == '\'') goto yy63;
 +                              if (yych <= ':') goto yy61;
 +                              goto yy63;
                        } else {
 -                              if (yych <= '[') goto yy73;
 -                              if (yych <= '\\') goto yy96;
 -                              if (yych <= ']') goto yy92;
 -                              goto yy73;
 +                              if (yych <= '[') goto yy61;
 +                              if (yych <= '\\') goto yy79;
 +                              if (yych <= ']') goto yy80;
 +                              goto yy61;
                        }
                }
 -yy78:
 -              YYDEBUG(78, *YYCURSOR);
 +yy66:
 +              YYDEBUG(66, *YYCURSOR);
                ++YYCURSOR;
 -yy79:
 -              YYDEBUG(79, *YYCURSOR);
 +yy67:
 +              YYDEBUG(67, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 648 "Zend/zend_ini_scanner.l"
 -#line 657 "Zend/zend_ini_scanner.l"
++#line 655 "Zend/zend_ini_scanner.l"
                {
        return 0;
  }
 -#line 1315 "Zend/zend_ini_scanner.c"
 -yy80:
 -              YYDEBUG(80, *YYCURSOR);
 +#line 1186 "Zend/zend_ini_scanner.c"
 +yy68:
 +              YYDEBUG(68, *YYCURSOR);
                ++YYCURSOR;
 -              YYDEBUG(81, *YYCURSOR);
 +              YYDEBUG(69, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 577 "Zend/zend_ini_scanner.l"
 -#line 586 "Zend/zend_ini_scanner.l"
++#line 584 "Zend/zend_ini_scanner.l"
                { /* Double quoted '"' string start */
        yy_push_state(ST_DOUBLE_QUOTES);
        return '"';
@@@ -1255,10 -1385,10 +1255,10 @@@ yy73
                                }
                        }
                }
 -yy87:
 -              YYDEBUG(87, *YYCURSOR);
 +yy75:
 +              YYDEBUG(75, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 551 "Zend/zend_ini_scanner.l"
 -#line 560 "Zend/zend_ini_scanner.l"
++#line 558 "Zend/zend_ini_scanner.l"
                { /* Get number option value as string */
        RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
  }
@@@ -1284,18 -1414,18 +1284,18 @@@ yy76
                        }
                } else {
                        if (yych <= ';') {
 -                              if (yych == '\'') goto yy90;
 -                              if (yych <= ':') goto yy73;
 +                              if (yych == '\'') goto yy78;
 +                              if (yych <= ':') goto yy61;
                        } else {
 -                              if (yych <= '[') goto yy73;
 -                              if (yych <= '\\') goto yy96;
 -                              if (yych >= '^') goto yy73;
 +                              if (yych <= '[') goto yy61;
 +                              if (yych <= '\\') goto yy79;
 +                              if (yych >= '^') goto yy61;
                        }
                }
 -yy90:
 -              YYDEBUG(90, *YYCURSOR);
 +yy78:
 +              YYDEBUG(78, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 547 "Zend/zend_ini_scanner.l"
 -#line 556 "Zend/zend_ini_scanner.l"
++#line 554 "Zend/zend_ini_scanner.l"
                { /* Get constant option value */
        RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
  }
        }
        RETURN_TOKEN(TC_RAW, yytext, yyleng);
  }
 -#line 1566 "Zend/zend_ini_scanner.c"
 +#line 1428 "Zend/zend_ini_scanner.c"
        }
  /* *********************************** */
 -yyc_ST_RAW:
 +yyc_ST_SECTION_VALUE:
        {
                static const unsigned char yybm[] = {
 -                      128, 128, 128, 128, 128, 128, 128, 128
 -                      128, 192,   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, 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, 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, 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, 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, 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, 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
 -                      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, 128, 128, 128
 -                      128, 128, 128, 128, 128, 128, 128, 128
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 140, 128, 132, 132, 128, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      140, 132, 128, 132, 192, 132, 132,   0
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      180, 180, 180, 180, 180, 180, 180, 180
 +                      180, 180, 132, 128, 132, 132, 132, 132
 +                      132, 164, 164, 164, 164, 164, 164, 164
 +                      164, 164, 164, 164, 164, 164, 164, 164
 +                      164, 164, 164, 164, 164, 164, 164, 164
 +                      164, 164, 164, 132, 192, 128, 132, 164
 +                      132, 164, 164, 164, 164, 164, 164, 164
 +                      164, 164, 164, 164, 164, 164, 164, 164
 +                      164, 164, 164, 164, 164, 164, 164, 164
 +                      164, 164, 164, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
 +                      132, 132, 132, 132, 132, 132, 132, 132
                };
 -              YYDEBUG(107, *YYCURSOR);
 -              YYFILL(3);
 +              YYDEBUG(94, *YYCURSOR);
 +              YYFILL(2);
                yych = *YYCURSOR;
 -              if (yych <= '\f') {
 -                      if (yych <= 0x08) {
 -                              if (yych >= 0x01) goto yy111;
 +              if (yybm[0+yych] & 8) {
 +                      goto yy99;
 +              }
 +              if (yych <= '/') {
 +                      if (yych <= '"') {
 +                              if (yych <= '\f') {
 +                                      if (yych <= 0x08) goto yy96;
 +                                      if (yych <= '\n') goto yy101;
 +                              } else {
 +                                      if (yych <= '\r') goto yy101;
 +                                      if (yych >= '"') goto yy103;
 +                              }
                        } else {
 -                              if (yych <= '\t') goto yy113;
 -                              if (yych <= '\n') goto yy114;
 -                              goto yy111;
 +                              if (yych <= '&') {
 +                                      if (yych == '$') goto yy105;
 +                              } else {
 +                                      if (yych <= '\'') goto yy106;
 +                                      if (yych <= ',') goto yy96;
 +                                      if (yych <= '.') goto yy107;
 +                              }
                        }
                } else {
 -                      if (yych <= ' ') {
 -                              if (yych <= '\r') goto yy116;
 -                              if (yych <= 0x1F) goto yy111;
 -                              goto yy113;
 +                      if (yych <= '[') {
 +                              if (yych <= ';') {
 +                                      if (yych <= '9') goto yy108;
 +                                      if (yych >= ';') goto yy101;
 +                              } else {
 +                                      if (yych <= '@') goto yy96;
 +                                      if (yych <= 'Z') goto yy111;
 +                              }
                        } else {
 -                              if (yych == ';') goto yy117;
 -                              goto yy111;
 +                              if (yych <= '^') {
 +                                      if (yych <= '\\') goto yy114;
 +                                      if (yych <= ']') goto yy115;
 +                              } else {
 +                                      if (yych == '`') goto yy96;
 +                                      if (yych <= 'z') goto yy111;
 +                              }
                        }
                }
 -              YYDEBUG(109, *YYCURSOR);
 +yy96:
 +              YYDEBUG(96, *YYCURSOR);
 +              yyaccept = 0;
 +              YYMARKER = ++YYCURSOR;
 +              YYFILL(1);
 +              yych = *YYCURSOR;
 +yy97:
 +              YYDEBUG(97, *YYCURSOR);
 +              if (yybm[0+yych] & 4) {
 +                      goto yy96;
 +              }
 +              if (yych <= '"') goto yy98;
 +              if (yych <= '$') goto yy118;
 +              if (yych <= ';') goto yy98;
 +              if (yych <= '\\') goto yy114;
 +yy98:
 +              YYDEBUG(98, *YYCURSOR);
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 573 "Zend/zend_ini_scanner.l"
++#line 580 "Zend/zend_ini_scanner.l"
 +              { /* Get rest as section/offset value */
 +      RETURN_TOKEN(TC_STRING, yytext, yyleng);
 +}
 +#line 1532 "Zend/zend_ini_scanner.c"
 +yy99:
 +              YYDEBUG(99, *YYCURSOR);
 +              yyaccept = 0;
 +              YYMARKER = ++YYCURSOR;
 +              YYFILL(1);
 +              yych = *YYCURSOR;
 +              YYDEBUG(100, *YYCURSOR);
 +              if (yybm[0+yych] & 8) {
 +                      goto yy99;
 +              }
 +              if (yych <= '$') {
 +                      if (yych <= '\r') {
 +                              if (yych <= 0x08) goto yy96;
 +                              if (yych <= '\n') goto yy98;
 +                              if (yych <= '\f') goto yy96;
 +                              goto yy98;
 +                      } else {
 +                              if (yych == '"') goto yy103;
 +                              if (yych <= '#') goto yy96;
 +                              goto yy118;
 +                      }
 +              } else {
 +                      if (yych <= ';') {
 +                              if (yych == '\'') goto yy98;
 +                              if (yych <= ':') goto yy96;
 +                              goto yy98;
 +                      } else {
 +                              if (yych <= '[') goto yy96;
 +                              if (yych <= '\\') goto yy114;
 +                              if (yych <= ']') goto yy98;
 +                              goto yy96;
 +                      }
 +              }
 +yy101:
 +              YYDEBUG(101, *YYCURSOR);
                ++YYCURSOR;
 -              YYDEBUG(110, *YYCURSOR);
 +yy102:
 +              YYDEBUG(102, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 648 "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 655 "Zend/zend_ini_scanner.l"
 +              {
 +      return 0;
  }
 -#line 1635 "Zend/zend_ini_scanner.c"
 -yy111:
 -              YYDEBUG(111, *YYCURSOR);
 +#line 1576 "Zend/zend_ini_scanner.c"
 +yy103:
 +              YYDEBUG(103, *YYCURSOR);
                ++YYCURSOR;
 -yy112:
 -              YYDEBUG(112, *YYCURSOR);
 +              YYDEBUG(104, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 577 "Zend/zend_ini_scanner.l"
 -#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':
 -                      case '\r':
 -                              goto end_raw_value_chars;
 -                              break;
 -                      case ';':
 -                              if (sc == NULL) {
 -                                      sc = YYCURSOR;
 -                              }
 -                              YYCURSOR++;
 -                              break;
 -                      case '"':
 -                              if (yytext[0] == '"') {
 -                                      sc = NULL;
 -                              }
 -                              YYCURSOR++;
 -                              break;
 -                      default:
 -                              YYCURSOR++;
 -                              break;
++#line 584 "Zend/zend_ini_scanner.l"
 +              { /* Double quoted '"' string start */
 +      yy_push_state(ST_DOUBLE_QUOTES);
 +      return '"';
 +}
 +#line 1587 "Zend/zend_ini_scanner.c"
 +yy105:
 +              YYDEBUG(105, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych <= '\\') {
 +                      if (yych <= 0x00) goto yy102;
 +                      if (yych <= '[') goto yy96;
 +                      goto yy120;
 +              } else {
 +                      if (yych == '{') goto yy122;
 +                      goto yy96;
                }
 -      }
 -end_raw_value_chars:
 -      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;
 -      }
 -
 -      RETURN_TOKEN(TC_RAW, yytext, yyleng);
 -}
 -#line 1686 "Zend/zend_ini_scanner.c"
 -yy113:
 -              YYDEBUG(113, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych <= '\r') {
 -                      if (yych <= 0x08) goto yy112;
 -                      if (yych <= '\n') goto yy119;
 -                      if (yych <= '\f') goto yy112;
 -                      goto yy119;
 -              } else {
 -                      if (yych <= ' ') {
 -                              if (yych <= 0x1F) goto yy112;
 -                              goto yy119;
 -                      } else {
 -                              if (yych == ';') goto yy119;
 -                              goto yy112;
 -                      }
 -              }
 -yy114:
 -              YYDEBUG(114, *YYCURSOR);
 -              ++YYCURSOR;
 -yy115:
 -              YYDEBUG(115, *YYCURSOR);
 -              yyleng = YYCURSOR - SCNG(yy_text);
 -#line 550 "Zend/zend_ini_scanner.l"
 -              { /* End of option value */
 -      BEGIN(INITIAL);
 -      SCNG(lineno)++;
 -      return END_OF_LINE;
 -}
 -#line 1716 "Zend/zend_ini_scanner.c"
 -yy116:
 -              YYDEBUG(116, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              if (yych == '\n') goto yy114;
 -              goto yy115;
 -yy117:
 -              YYDEBUG(117, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              goto yy122;
 -yy118:
 -              YYDEBUG(118, *YYCURSOR);
 -              ++YYCURSOR;
 -              YYFILL(2);
 -              yych = *YYCURSOR;
 -yy119:
 -              YYDEBUG(119, *YYCURSOR);
 -              if (yybm[0+yych] & 64) {
 -                      goto yy118;
 -              }
 -              if (yych <= '\f') {
 -                      if (yych <= 0x08) goto yy120;
 -                      if (yych <= '\n') goto yy114;
 -              } else {
 -                      if (yych <= '\r') goto yy116;
 -                      if (yych == ';') goto yy121;
 -              }
 -yy120:
 -              YYDEBUG(120, *YYCURSOR);
 -              yyleng = YYCURSOR - SCNG(yy_text);
 -#line 636 "Zend/zend_ini_scanner.l"
 -              {
 -      /* eat whitespace */
 -      goto restart;
 -}
 -#line 1751 "Zend/zend_ini_scanner.c"
 -yy121:
 -              YYDEBUG(121, *YYCURSOR);
 -              ++YYCURSOR;
 -              YYFILL(2);
 -              yych = *YYCURSOR;
 -yy122:
 -              YYDEBUG(122, *YYCURSOR);
 -              if (yybm[0+yych] & 128) {
 -                      goto yy121;
 -              }
 -              if (yych >= '\v') goto yy125;
 -yy123:
 -              YYDEBUG(123, *YYCURSOR);
 -              ++YYCURSOR;
 -yy124:
 -              YYDEBUG(124, *YYCURSOR);
 -              yyleng = YYCURSOR - SCNG(yy_text);
 -#line 646 "Zend/zend_ini_scanner.l"
 -              { /* Comment */
 -      BEGIN(INITIAL);
 -      SCNG(lineno)++;
 -      return END_OF_LINE;
 -}
 -#line 1775 "Zend/zend_ini_scanner.c"
 -yy125:
 -              YYDEBUG(125, *YYCURSOR);
 -              ++YYCURSOR;
 -              if ((yych = *YYCURSOR) == '\n') goto yy123;
 -              goto yy124;
 -      }
 -/* *********************************** */
 -yyc_ST_SECTION_RAW:
 -      {
 -              static const unsigned char yybm[] = {
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64, 192,   0,  64,  64,   0,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                      192,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,   0,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -                       64,  64,  64,  64,  64,  64,  64,  64, 
 -              };
 -              YYDEBUG(126, *YYCURSOR);
 -              YYFILL(1);
 -              yych = *YYCURSOR;
 -              if (yybm[0+yych] & 64) {
 -                      goto yy128;
 -              }
 -              if (yych <= '\r') goto yy131;
 -              goto yy133;
 -yy128:
 -              YYDEBUG(128, *YYCURSOR);
 -              ++YYCURSOR;
 -              YYFILL(1);
 -              yych = *YYCURSOR;
 -              YYDEBUG(129, *YYCURSOR);
 -              if (yybm[0+yych] & 64) {
 -                      goto yy128;
 -              }
 -              YYDEBUG(130, *YYCURSOR);
 -              yyleng = YYCURSOR - SCNG(yy_text);
 -#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 1842 "Zend/zend_ini_scanner.c"
 -yy131:
 -              YYDEBUG(131, *YYCURSOR);
 -              ++YYCURSOR;
 -              YYDEBUG(132, *YYCURSOR);
 -              yyleng = YYCURSOR - SCNG(yy_text);
 -#line 657 "Zend/zend_ini_scanner.l"
 -              {
 -      return 0;
 -}
 -#line 1852 "Zend/zend_ini_scanner.c"
 -yy133:
 -              YYDEBUG(133, *YYCURSOR);
 -              ++YYCURSOR;
 -              YYFILL(2);
 -              yych = *YYCURSOR;
 -              YYDEBUG(134, *YYCURSOR);
 -              if (yybm[0+yych] & 128) {
 -                      goto yy133;
 -              }
 -              if (yych <= 0x08) goto yy135;
 -              if (yych <= '\n') goto yy136;
 -              if (yych == '\r') goto yy137;
 -yy135:
 -              YYDEBUG(135, *YYCURSOR);
 -              yyleng = YYCURSOR - SCNG(yy_text);
 -#line 427 "Zend/zend_ini_scanner.l"
 -              { /* End of section */
 -      BEGIN(INITIAL);
 -      SCNG(lineno)++;
 -      return ']';
 -}
 -#line 1874 "Zend/zend_ini_scanner.c"
 -yy136:
 -              YYDEBUG(136, *YYCURSOR);
 -              yych = *++YYCURSOR;
 -              goto yy135;
 -yy137:
 -              YYDEBUG(137, *YYCURSOR);
 -              ++YYCURSOR;
 -              if ((yych = *YYCURSOR) == '\n') goto yy136;
 -              goto yy135;
 -      }
 -/* *********************************** */
 -yyc_ST_SECTION_VALUE:
 -      {
 -              static const unsigned char yybm[] = {
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 140, 128, 132, 132, 128, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      140, 132, 128, 132, 192, 132, 132,   0, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      180, 180, 180, 180, 180, 180, 180, 180, 
 -                      180, 180, 132, 128, 132, 132, 132, 132, 
 -                      132, 164, 164, 164, 164, 164, 164, 164, 
 -                      164, 164, 164, 164, 164, 164, 164, 164, 
 -                      164, 164, 164, 164, 164, 164, 164, 164, 
 -                      164, 164, 164, 132, 192, 128, 132, 164, 
 -                      132, 164, 164, 164, 164, 164, 164, 164, 
 -                      164, 164, 164, 164, 164, 164, 164, 164, 
 -                      164, 164, 164, 164, 164, 164, 164, 164, 
 -                      164, 164, 164, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -                      132, 132, 132, 132, 132, 132, 132, 132, 
 -              };
 -              YYDEBUG(138, *YYCURSOR);
 -              YYFILL(2);
 -              yych = *YYCURSOR;
 -              if (yybm[0+yych] & 8) {
 -                      goto yy143;
 -              }
 -              if (yych <= '/') {
 -                      if (yych <= '"') {
 -                              if (yych <= '\f') {
 -                                      if (yych <= 0x08) goto yy140;
 -                                      if (yych <= '\n') goto yy145;
 -                              } else {
 -                                      if (yych <= '\r') goto yy145;
 -                                      if (yych >= '"') goto yy147;
 -                              }
 -                      } else {
 -                              if (yych <= '&') {
 -                                      if (yych == '$') goto yy149;
 -                              } else {
 -                                      if (yych <= '\'') goto yy150;
 -                                      if (yych <= ',') goto yy140;
 -                                      if (yych <= '.') goto yy151;
 -                              }
 -                      }
 -              } else {
 -                      if (yych <= '[') {
 -                              if (yych <= ';') {
 -                                      if (yych <= '9') goto yy152;
 -                                      if (yych >= ';') goto yy145;
 -                              } else {
 -                                      if (yych <= '@') goto yy140;
 -                                      if (yych <= 'Z') goto yy155;
 -                              }
 -                      } else {
 -                              if (yych <= '^') {
 -                                      if (yych <= '\\') goto yy158;
 -                                      if (yych <= ']') goto yy159;
 -                              } else {
 -                                      if (yych == '`') goto yy140;
 -                                      if (yych <= 'z') goto yy155;
 -                              }
 -                      }
 -              }
 -yy140:
 -              YYDEBUG(140, *YYCURSOR);
 -              yyaccept = 0;
 -              YYMARKER = ++YYCURSOR;
 -              YYFILL(1);
 -              yych = *YYCURSOR;
 -yy141:
 -              YYDEBUG(141, *YYCURSOR);
 -              if (yybm[0+yych] & 4) {
 -                      goto yy140;
 -              }
 -              if (yych <= '"') goto yy142;
 -              if (yych <= '$') goto yy162;
 -              if (yych <= ';') goto yy142;
 -              if (yych <= '\\') goto yy164;
 -yy142:
 -              YYDEBUG(142, *YYCURSOR);
 -              yyleng = YYCURSOR - SCNG(yy_text);
 -#line 582 "Zend/zend_ini_scanner.l"
 -              { /* Get rest as section/offset value */
 -      RETURN_TOKEN(TC_STRING, yytext, yyleng);
 -}
 -#line 1987 "Zend/zend_ini_scanner.c"
 -yy143:
 -              YYDEBUG(143, *YYCURSOR);
 -              yyaccept = 0;
 -              YYMARKER = ++YYCURSOR;
 -              YYFILL(1);
 -              yych = *YYCURSOR;
 -              YYDEBUG(144, *YYCURSOR);
 -              if (yybm[0+yych] & 8) {
 -                      goto yy143;
 -              }
 -              if (yych <= '$') {
 -                      if (yych <= '\r') {
 -                              if (yych <= 0x08) goto yy140;
 -                              if (yych <= '\n') goto yy142;
 -                              if (yych <= '\f') goto yy140;
 -                              goto yy142;
 -                      } else {
 -                              if (yych == '"') goto yy147;
 -                              if (yych <= '#') goto yy140;
 -                              goto yy162;
 -                      }
 -              } else {
 -                      if (yych <= ';') {
 -                              if (yych == '\'') goto yy142;
 -                              if (yych <= ':') goto yy140;
 -                              goto yy142;
 -                      } else {
 -                              if (yych <= '[') goto yy140;
 -                              if (yych <= '\\') goto yy164;
 -                              if (yych <= ']') goto yy142;
 -                              goto yy140;
 -                      }
 -              }
 -yy145:
 -              YYDEBUG(145, *YYCURSOR);
 -              ++YYCURSOR;
 -yy146:
 -              YYDEBUG(146, *YYCURSOR);
 -              yyleng = YYCURSOR - SCNG(yy_text);
 -#line 657 "Zend/zend_ini_scanner.l"
 -              {
 -      return 0;
 -}
 -#line 2031 "Zend/zend_ini_scanner.c"
 -yy147:
 -              YYDEBUG(147, *YYCURSOR);
 -              ++YYCURSOR;
 -              YYDEBUG(148, *YYCURSOR);
 -              yyleng = YYCURSOR - SCNG(yy_text);
 -#line 586 "Zend/zend_ini_scanner.l"
 -              { /* Double quoted '"' string start */
 -      yy_push_state(ST_DOUBLE_QUOTES);
 -      return '"';
 -}
 -#line 2042 "Zend/zend_ini_scanner.c"
 -yy149:
 -              YYDEBUG(149, *YYCURSOR);
 +yy106:
 +              YYDEBUG(106, *YYCURSOR);
                yych = *++YYCURSOR;
 -              if (yych <= '\\') {
 -                      if (yych <= 0x00) goto yy146;
 -                      if (yych <= '[') goto yy140;
 -                      goto yy165;
 -              } else {
 -                      if (yych == '{') goto yy167;
 -                      goto yy140;
 -              }
 -yy150:
 -              YYDEBUG(150, *YYCURSOR);
 -              yyaccept = 1;
 -              yych = *(YYMARKER = ++YYCURSOR);
                if (yybm[0+yych] & 128) {
 -                      goto yy169;
 +                      goto yy124;
                }
 -              goto yy146;
 -yy151:
 -              YYDEBUG(151, *YYCURSOR);
 +              goto yy102;
 +yy107:
 +              YYDEBUG(107, *YYCURSOR);
                yyaccept = 0;
                yych = *(YYMARKER = ++YYCURSOR);
 -              if (yych <= '/') goto yy141;
 -              if (yych <= '9') goto yy171;
 -              goto yy141;
 -yy152:
 -              YYDEBUG(152, *YYCURSOR);
 -              yyaccept = 2;
 +              if (yych <= '/') goto yy97;
 +              if (yych <= '9') goto yy126;
 +              goto yy97;
 +yy108:
 +              YYDEBUG(108, *YYCURSOR);
 +              yyaccept = 1;
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
                                }
                        }
                }
 -yy154:
 -              YYDEBUG(154, *YYCURSOR);
 +yy110:
 +              YYDEBUG(110, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 551 "Zend/zend_ini_scanner.l"
 -#line 560 "Zend/zend_ini_scanner.l"
++#line 558 "Zend/zend_ini_scanner.l"
                { /* Get number option value as string */
        RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
  }
@@@ -1674,18 -2130,18 +1674,18 @@@ yy111
                        }
                } else {
                        if (yych <= ';') {
 -                              if (yych == '\'') goto yy157;
 -                              if (yych <= ':') goto yy140;
 +                              if (yych == '\'') goto yy113;
 +                              if (yych <= ':') goto yy96;
                        } else {
 -                              if (yych <= '[') goto yy140;
 -                              if (yych <= '\\') goto yy164;
 -                              if (yych >= '^') goto yy140;
 +                              if (yych <= '[') goto yy96;
 +                              if (yych <= '\\') goto yy114;
 +                              if (yych >= '^') goto yy96;
                        }
                }
 -yy157:
 -              YYDEBUG(157, *YYCURSOR);
 +yy113:
 +              YYDEBUG(113, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 547 "Zend/zend_ini_scanner.l"
 -#line 556 "Zend/zend_ini_scanner.l"
++#line 554 "Zend/zend_ini_scanner.l"
                { /* Get constant option value */
        RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
  }
@@@ -1953,26 -2417,26 +1953,26 @@@ yyc_ST_VALUE
                case 'v':
                case 'w':
                case 'x':
 -              case 'z':       goto yy204;
 +              case 'z':       goto yy160;
                case 'F':
 -              case 'f':       goto yy207;
 +              case 'f':       goto yy163;
                case 'N':
 -              case 'n':       goto yy208;
 +              case 'n':       goto yy164;
                case 'O':
 -              case 'o':       goto yy209;
 +              case 'o':       goto yy165;
                case 'T':
 -              case 't':       goto yy210;
 +              case 't':       goto yy166;
                case 'Y':
 -              case 'y':       goto yy211;
 -              default:        goto yy181;
 +              case 'y':       goto yy167;
 +              default:        goto yy136;
                }
 -yy179:
 -              YYDEBUG(179, *YYCURSOR);
 +yy134:
 +              YYDEBUG(134, *YYCURSOR);
                ++YYCURSOR;
 -yy180:
 -              YYDEBUG(180, *YYCURSOR);
 +yy135:
 +              YYDEBUG(135, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 643 "Zend/zend_ini_scanner.l"
 -#line 652 "Zend/zend_ini_scanner.l"
++#line 650 "Zend/zend_ini_scanner.l"
                { /* End of option value (if EOF is reached before EOL */
        BEGIN(INITIAL);
        return END_OF_LINE;
@@@ -1984,56 -2448,57 +1984,56 @@@ yy136
                YYMARKER = ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -yy182:
 -              YYDEBUG(182, *YYCURSOR);
 +yy137:
 +              YYDEBUG(137, *YYCURSOR);
                if (yybm[0+yych] & 2) {
 -                      goto yy181;
 +                      goto yy136;
                }
 -              if (yych <= '"') goto yy183;
 -              if (yych <= '$') goto yy212;
 -yy183:
 -              YYDEBUG(183, *YYCURSOR);
 +              if (yych <= '"') goto yy138;
 +              if (yych <= '$') goto yy168;
 +yy138:
 +              YYDEBUG(138, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 569 "Zend/zend_ini_scanner.l"
 -#line 578 "Zend/zend_ini_scanner.l"
++#line 576 "Zend/zend_ini_scanner.l"
                { /* Get everything else as option/offset value */
        RETURN_TOKEN(TC_STRING, yytext, yyleng);
  }
 -#line 2466 "Zend/zend_ini_scanner.c"
 -yy184:
 -              YYDEBUG(184, *YYCURSOR);
 -              yyaccept = 1;
 -              YYMARKER = ++YYCURSOR;
 +#line 2002 "Zend/zend_ini_scanner.c"
 +yy139:
 +              YYDEBUG(139, *YYCURSOR);
 +              ++YYCURSOR;
                YYFILL(2);
                yych = *YYCURSOR;
 -              YYDEBUG(185, *YYCURSOR);
 +              YYDEBUG(140, *YYCURSOR);
                if (yybm[0+yych] & 4) {
 -                      goto yy184;
 +                      goto yy139;
                }
                if (yych <= '\r') {
 -                      if (yych <= 0x08) goto yy186;
 -                      if (yych <= '\n') goto yy187;
 -                      if (yych >= '\r') goto yy189;
 +                      if (yych <= 0x08) goto yy141;
 +                      if (yych <= '\n') goto yy142;
 +                      if (yych >= '\r') goto yy144;
                } else {
                        if (yych <= '"') {
 -                              if (yych >= '"') goto yy193;
 +                              if (yych >= '"') goto yy148;
                        } else {
 -                              if (yych == ';') goto yy214;
 +                              if (yych == ';') goto yy156;
                        }
                }
 -yy186:
 -              YYDEBUG(186, *YYCURSOR);
 +yy141:
 +              YYDEBUG(141, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 623 "Zend/zend_ini_scanner.l"
 -#line 632 "Zend/zend_ini_scanner.l"
++#line 630 "Zend/zend_ini_scanner.l"
                {
        RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
  }
 -#line 2495 "Zend/zend_ini_scanner.c"
 -yy187:
 -              YYDEBUG(187, *YYCURSOR);
 +#line 2030 "Zend/zend_ini_scanner.c"
 +yy142:
 +              YYDEBUG(142, *YYCURSOR);
                ++YYCURSOR;
 -yy188:
 -              YYDEBUG(188, *YYCURSOR);
 +yy143:
 +              YYDEBUG(143, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 541 "Zend/zend_ini_scanner.l"
 -#line 550 "Zend/zend_ini_scanner.l"
++#line 548 "Zend/zend_ini_scanner.l"
                { /* End of option value */
        BEGIN(INITIAL);
        SCNG(lineno)++;
@@@ -2050,22 -2515,22 +2050,22 @@@ yy145
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -              YYDEBUG(191, *YYCURSOR);
 -              if (yych == '\t') goto yy190;
 -              if (yych == ' ') goto yy190;
 -              YYDEBUG(192, *YYCURSOR);
 +              YYDEBUG(146, *YYCURSOR);
 +              if (yych == '\t') goto yy145;
 +              if (yych == ' ') goto yy145;
 +              YYDEBUG(147, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 559 "Zend/zend_ini_scanner.l"
 -#line 568 "Zend/zend_ini_scanner.l"
++#line 566 "Zend/zend_ini_scanner.l"
                { /* Boolean operators */
        return yytext[0];
  }
 -#line 2528 "Zend/zend_ini_scanner.c"
 -yy193:
 -              YYDEBUG(193, *YYCURSOR);
 +#line 2063 "Zend/zend_ini_scanner.c"
 +yy148:
 +              YYDEBUG(148, *YYCURSOR);
                ++YYCURSOR;
 -              YYDEBUG(194, *YYCURSOR);
 +              YYDEBUG(149, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 577 "Zend/zend_ini_scanner.l"
 -#line 586 "Zend/zend_ini_scanner.l"
++#line 584 "Zend/zend_ini_scanner.l"
                { /* Double quoted '"' string start */
        yy_push_state(ST_DOUBLE_QUOTES);
        return '"';
@@@ -2141,31 -2607,25 +2141,31 @@@ yy153
                                }
                        }
                }
 -yy200:
 -              YYDEBUG(200, *YYCURSOR);
 +yy155:
 +              YYDEBUG(155, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 551 "Zend/zend_ini_scanner.l"
 -#line 560 "Zend/zend_ini_scanner.l"
++#line 558 "Zend/zend_ini_scanner.l"
                { /* Get number option value as string */
        RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
  }
 -#line 2618 "Zend/zend_ini_scanner.c"
 -yy201:
 -              YYDEBUG(201, *YYCURSOR);
 -              yyaccept = 2;
 -              yych = *(YYMARKER = ++YYCURSOR);
 -              goto yy215;
 -yy202:
 -              YYDEBUG(202, *YYCURSOR);
 +#line 2152 "Zend/zend_ini_scanner.c"
 +yy156:
 +              YYDEBUG(156, *YYCURSOR);
                ++YYCURSOR;
 -              YYDEBUG(203, *YYCURSOR);
 +              YYFILL(2);
 +              yych = *YYCURSOR;
 +              YYDEBUG(157, *YYCURSOR);
 +              if (yybm[0+yych] & 16) {
 +                      goto yy156;
 +              }
 +              if (yych <= '\n') goto yy177;
 +              goto yy179;
 +yy158:
 +              YYDEBUG(158, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(159, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 563 "Zend/zend_ini_scanner.l"
 -#line 572 "Zend/zend_ini_scanner.l"
++#line 570 "Zend/zend_ini_scanner.l"
                { /* Make = used in option value to trigger error */
        yyless(0);
        BEGIN(INITIAL);
@@@ -2215,10 -2675,10 +2215,10 @@@ yy160
                                }
                        }
                }
 -yy206:
 -              YYDEBUG(206, *YYCURSOR);
 +yy162:
 +              YYDEBUG(162, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 547 "Zend/zend_ini_scanner.l"
 -#line 556 "Zend/zend_ini_scanner.l"
++#line 554 "Zend/zend_ini_scanner.l"
                { /* Get constant option value */
        RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
  }
@@@ -2621,13 -3101,13 +2621,13 @@@ yy175
                                }
                        }
                }
 -yy223:
 -              YYDEBUG(223, *YYCURSOR);
 +yy177:
 +              YYDEBUG(177, *YYCURSOR);
                ++YYCURSOR;
 -yy224:
 -              YYDEBUG(224, *YYCURSOR);
 +yy178:
 +              YYDEBUG(178, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 637 "Zend/zend_ini_scanner.l"
 -#line 646 "Zend/zend_ini_scanner.l"
++#line 644 "Zend/zend_ini_scanner.l"
                { /* Comment */
        BEGIN(INITIAL);
        SCNG(lineno)++;
                                }
                        } else {
                                if (yych <= ' ') {
 -                                      if (yych <= '\r') goto yy249;
 -                                      if (yych <= 0x1F) goto yy182;
 -                                      goto yy250;
 +                                      if (yych <= '\r') goto yy203;
 +                                      if (yych <= 0x1F) goto yy137;
 +                                      goto yy204;
 +                              } else {
 +                                      if (yych <= '"') goto yy203;
 +                                      if (yych <= '%') goto yy137;
 +                              }
 +                      }
 +              } else {
 +                      if (yych <= ']') {
 +                              if (yych <= ';') {
 +                                      if (yych <= ':') goto yy137;
 +                              } else {
 +                                      if (yych != '=') goto yy137;
 +                              }
 +                      } else {
 +                              if (yych <= '|') {
 +                                      if (yych <= '^') goto yy203;
 +                                      if (yych <= '{') goto yy137;
                                } else {
 -                                      if (yych <= '"') goto yy249;
 -                                      if (yych <= '%') goto yy182;
 +                                      if (yych != '~') goto yy137;
 +                              }
 +                      }
 +              }
 +yy203:
 +              YYDEBUG(203, *YYCURSOR);
 +              yyleng = YYCURSOR - SCNG(yy_text);
 +#line 477 "Zend/zend_ini_scanner.l"
 +              {
 +      RETURN_TOKEN(NULL_NULL, "", 0);
 +}
 +#line 3351 "Zend/zend_ini_scanner.c"
 +yy204:
 +              YYDEBUG(204, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYFILL(1);
 +              yych = *YYCURSOR;
 +              YYDEBUG(205, *YYCURSOR);
 +              if (yych == '\t') goto yy204;
 +              if (yych == ' ') goto yy204;
 +              goto yy203;
 +      }
 +/* *********************************** */
 +yyc_ST_SECTION_RAW:
 +      {
 +              static const unsigned char yybm[] = {
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64, 192,   0,  64,  64,   0,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                      192,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,   0,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +              };
 +              YYDEBUG(206, *YYCURSOR);
 +              YYFILL(1);
 +              yych = *YYCURSOR;
 +              if (yybm[0+yych] & 64) {
 +                      goto yy208;
 +              }
 +              if (yych <= '\r') goto yy211;
 +              goto yy213;
 +yy208:
 +              YYDEBUG(208, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYFILL(1);
 +              yych = *YYCURSOR;
 +              YYDEBUG(209, *YYCURSOR);
 +              if (yybm[0+yych] & 64) {
 +                      goto yy208;
 +              }
 +              YYDEBUG(210, *YYCURSOR);
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 537 "Zend/zend_ini_scanner.l"
++#line 544 "Zend/zend_ini_scanner.l"
 +              { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
 +      RETURN_TOKEN(TC_RAW, yytext, yyleng);
 +}
 +#line 3422 "Zend/zend_ini_scanner.c"
 +yy211:
 +              YYDEBUG(211, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(212, *YYCURSOR);
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 648 "Zend/zend_ini_scanner.l"
++#line 655 "Zend/zend_ini_scanner.l"
 +              {
 +      return 0;
 +}
 +#line 3432 "Zend/zend_ini_scanner.c"
 +yy213:
 +              YYDEBUG(213, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYFILL(2);
 +              yych = *YYCURSOR;
 +              YYDEBUG(214, *YYCURSOR);
 +              if (yybm[0+yych] & 128) {
 +                      goto yy213;
 +              }
 +              if (yych <= 0x08) goto yy215;
 +              if (yych <= '\n') goto yy216;
 +              if (yych == '\r') goto yy217;
 +yy215:
 +              YYDEBUG(215, *YYCURSOR);
 +              yyleng = YYCURSOR - SCNG(yy_text);
 +#line 425 "Zend/zend_ini_scanner.l"
 +              { /* End of section */
 +      BEGIN(INITIAL);
 +      SCNG(lineno)++;
 +      return ']';
 +}
 +#line 3454 "Zend/zend_ini_scanner.c"
 +yy216:
 +              YYDEBUG(216, *YYCURSOR);
 +              ++YYCURSOR;
 +              goto yy215;
 +yy217:
 +              YYDEBUG(217, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == '\n') goto yy216;
 +              goto yy215;
 +      }
 +/* *********************************** */
 +yyc_ST_DOUBLE_QUOTES:
 +      {
 +              static const unsigned char yybm[] = {
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0, 128,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                      128,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +                        0,   0,   0,   0,   0,   0,   0,   0, 
 +              };
 +              YYDEBUG(218, *YYCURSOR);
 +              YYFILL(2);
 +              yych = *YYCURSOR;
 +              if (yych == '"') goto yy222;
 +              if (yych == '$') goto yy225;
 +              YYDEBUG(220, *YYCURSOR);
 +              ++YYCURSOR;
 +yy221:
 +              YYDEBUG(221, *YYCURSOR);
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 587 "Zend/zend_ini_scanner.l"
++#line 594 "Zend/zend_ini_scanner.l"
 +              { /* Escape double quoted string contents */
 +      if (YYCURSOR > YYLIMIT) {
 +              return 0;
 +      }
 +
 +      while (YYCURSOR < YYLIMIT) {
 +              switch (*YYCURSOR++) {
 +                      case '"':
 +                              if (YYCURSOR < YYLIMIT && YYCURSOR[-2] == '\\' && *YYCURSOR != '\r' && *YYCURSOR != '\n') {
 +                                      continue;
                                }
 -                      }
 -              } else {
 -                      if (yych <= ']') {
 -                              if (yych <= ';') {
 -                                      if (yych <= ':') goto yy182;
 -                              } else {
 -                                      if (yych != '=') goto yy182;
 +                              break;
 +                      case '$':
 +                              if (*YYCURSOR == '{') {
 +                                      break;
                                }
 -                      } else {
 -                              if (yych <= '|') {
 -                                      if (yych <= '^') goto yy249;
 -                                      if (yych <= '{') goto yy182;
 -                              } else {
 -                                      if (yych != '~') goto yy182;
 +                              continue;
 +                      case '\\':
 +                              if (YYCURSOR < YYLIMIT && *YYCURSOR != '"') {
 +                                      YYCURSOR++;
                                }
 -                      }
 +                              /* fall through */
 +                      default:
 +                              continue;
                }
 -yy249:
 -              YYDEBUG(249, *YYCURSOR);
 -              yyleng = YYCURSOR - SCNG(yy_text);
 -#line 479 "Zend/zend_ini_scanner.l"
 -              {
 -      RETURN_TOKEN(NULL_NULL, "", 0);
 +
 +              YYCURSOR--;
 +              break;
 +      }
 +
 +      yyleng = YYCURSOR - SCNG(yy_text);
 +
 +      zend_ini_escape_string(ini_lval, yytext, yyleng, '"');
 +      return TC_QUOTED_STRING;
  }
 -#line 3831 "Zend/zend_ini_scanner.c"
 -yy250:
 -              YYDEBUG(250, *YYCURSOR);
 +#line 3548 "Zend/zend_ini_scanner.c"
 +yy222:
 +              YYDEBUG(222, *YYCURSOR);
                ++YYCURSOR;
                YYFILL(1);
                yych = *YYCURSOR;
 -              YYDEBUG(251, *YYCURSOR);
 -              if (yych == '\t') goto yy250;
 -              if (yych == ' ') goto yy250;
 -              goto yy249;
 +              YYDEBUG(223, *YYCURSOR);
 +              if (yybm[0+yych] & 128) {
 +                      goto yy222;
 +              }
 +              YYDEBUG(224, *YYCURSOR);
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 582 "Zend/zend_ini_scanner.l"
++#line 589 "Zend/zend_ini_scanner.l"
 +              { /* Double quoted '"' string ends */
 +      yy_pop_state();
 +      return '"';
 +}
 +#line 3565 "Zend/zend_ini_scanner.c"
 +yy225:
 +              YYDEBUG(225, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych != '{') goto yy221;
 +              YYDEBUG(226, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(227, *YYCURSOR);
 +              yyleng = YYCURSOR - SCNG(yy_text);
 +#line 449 "Zend/zend_ini_scanner.l"
 +              { /* Variable start */
 +      yy_push_state(ST_VARNAME);
 +      return TC_DOLLAR_CURLY;
 +}
 +#line 3579 "Zend/zend_ini_scanner.c"
        }
  /* *********************************** */
  yyc_ST_VARNAME:
@@@ -3643,13 -3904,13 +3643,13 @@@ yy230
  
        RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
  }
 -#line 3908 "Zend/zend_ini_scanner.c"
 -yy257:
 -              YYDEBUG(257, *YYCURSOR);
 +#line 3647 "Zend/zend_ini_scanner.c"
 +yy233:
 +              YYDEBUG(233, *YYCURSOR);
                ++YYCURSOR;
 -              YYDEBUG(258, *YYCURSOR);
 +              YYDEBUG(234, *YYCURSOR);
                yyleng = YYCURSOR - SCNG(yy_text);
- #line 648 "Zend/zend_ini_scanner.l"
 -#line 657 "Zend/zend_ini_scanner.l"
++#line 655 "Zend/zend_ini_scanner.l"
                {
        return 0;
  }
@@@ -3664,212 -3925,9 +3664,219 @@@ yy235
        yy_pop_state();
        return '}';
  }
 -#line 3929 "Zend/zend_ini_scanner.c"
 +#line 3668 "Zend/zend_ini_scanner.c"
 +      }
 +/* *********************************** */
 +yyc_ST_RAW:
 +      {
 +              static const unsigned char yybm[] = {
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64, 192,   0,  64,  64,   0,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                      192,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +                       64,  64,  64,  64,  64,  64,  64,  64, 
 +              };
 +              YYDEBUG(237, *YYCURSOR);
 +              YYFILL(3);
 +              yych = *YYCURSOR;
 +              if (yych <= '\f') {
 +                      if (yych <= 0x08) {
 +                              if (yych >= 0x01) goto yy241;
 +                      } else {
 +                              if (yych <= '\t') goto yy243;
 +                              if (yych <= '\n') goto yy244;
 +                              goto yy241;
 +                      }
 +              } else {
 +                      if (yych <= ' ') {
 +                              if (yych <= '\r') goto yy246;
 +                              if (yych <= 0x1F) goto yy241;
 +                              goto yy243;
 +                      } else {
 +                              if (yych == ';') goto yy247;
 +                              goto yy241;
 +                      }
 +              }
 +              YYDEBUG(239, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYDEBUG(240, *YYCURSOR);
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 643 "Zend/zend_ini_scanner.l"
++#line 650 "Zend/zend_ini_scanner.l"
 +              { /* End of option value (if EOF is reached before EOL */
 +      BEGIN(INITIAL);
 +      return END_OF_LINE;
 +}
 +#line 3737 "Zend/zend_ini_scanner.c"
 +yy241:
 +              YYDEBUG(241, *YYCURSOR);
 +              ++YYCURSOR;
 +yy242:
 +              YYDEBUG(242, *YYCURSOR);
 +              yyleng = YYCURSOR - SCNG(yy_text);
 +#line 500 "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':
 +                      case '\r':
 +                              goto end_raw_value_chars;
 +                              break;
 +                      case ';':
 +                              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 3781 "Zend/zend_ini_scanner.c"
++#line 3788 "Zend/zend_ini_scanner.c"
 +yy243:
 +              YYDEBUG(243, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych <= '\r') {
 +                      if (yych <= 0x08) goto yy242;
 +                      if (yych <= '\n') goto yy250;
 +                      if (yych <= '\f') goto yy242;
 +                      goto yy250;
 +              } else {
 +                      if (yych <= ' ') {
 +                              if (yych <= 0x1F) goto yy242;
 +                              goto yy250;
 +                      } else {
 +                              if (yych == ';') goto yy250;
 +                              goto yy242;
 +                      }
 +              }
 +yy244:
 +              YYDEBUG(244, *YYCURSOR);
 +              ++YYCURSOR;
 +yy245:
 +              YYDEBUG(245, *YYCURSOR);
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 541 "Zend/zend_ini_scanner.l"
++#line 548 "Zend/zend_ini_scanner.l"
 +              { /* End of option value */
 +      BEGIN(INITIAL);
 +      SCNG(lineno)++;
 +      return END_OF_LINE;
 +}
- #line 3811 "Zend/zend_ini_scanner.c"
++#line 3818 "Zend/zend_ini_scanner.c"
 +yy246:
 +              YYDEBUG(246, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == '\n') goto yy244;
 +              goto yy245;
 +yy247:
 +              YYDEBUG(247, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYFILL(2);
 +              yych = *YYCURSOR;
 +              YYDEBUG(248, *YYCURSOR);
 +              if (yybm[0+yych] & 64) {
 +                      goto yy247;
 +              }
 +              if (yych <= '\n') goto yy252;
 +              goto yy254;
 +yy249:
 +              YYDEBUG(249, *YYCURSOR);
 +              ++YYCURSOR;
 +              YYFILL(2);
 +              yych = *YYCURSOR;
 +yy250:
 +              YYDEBUG(250, *YYCURSOR);
 +              if (yybm[0+yych] & 128) {
 +                      goto yy249;
 +              }
 +              if (yych <= '\f') {
 +                      if (yych <= 0x08) goto yy251;
 +                      if (yych <= '\n') goto yy244;
 +              } else {
 +                      if (yych <= '\r') goto yy246;
 +                      if (yych == ';') goto yy247;
 +              }
 +yy251:
 +              YYDEBUG(251, *YYCURSOR);
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 627 "Zend/zend_ini_scanner.l"
++#line 634 "Zend/zend_ini_scanner.l"
 +              {
 +      /* eat whitespace */
 +      goto restart;
 +}
- #line 3853 "Zend/zend_ini_scanner.c"
++#line 3860 "Zend/zend_ini_scanner.c"
 +yy252:
 +              YYDEBUG(252, *YYCURSOR);
 +              ++YYCURSOR;
 +yy253:
 +              YYDEBUG(253, *YYCURSOR);
 +              yyleng = YYCURSOR - SCNG(yy_text);
- #line 637 "Zend/zend_ini_scanner.l"
++#line 644 "Zend/zend_ini_scanner.l"
 +              { /* Comment */
 +      BEGIN(INITIAL);
 +      SCNG(lineno)++;
 +      return END_OF_LINE;
 +}
- #line 3866 "Zend/zend_ini_scanner.c"
++#line 3873 "Zend/zend_ini_scanner.c"
 +yy254:
 +              YYDEBUG(254, *YYCURSOR);
 +              yych = *++YYCURSOR;
 +              if (yych == '\n') goto yy252;
 +              goto yy253;
        }
  }
- #line 652 "Zend/zend_ini_scanner.l"
 -#line 661 "Zend/zend_ini_scanner.l"
++#line 659 "Zend/zend_ini_scanner.l"
  
  }
Simple merge