php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | |
Patch bug51094.diff for Filesystem function related Bug #51094Patch version 2012-06-07 13:32 UTC Return to Bug #51094 | Download this patchThis patch renders other patches obsolete Obsolete patches: Patch Revisions: 2012-06-07 13:32 UTC | 2012-06-06 17:00 UTCDeveloper: pierrick@php.netdiff --git a/Zend/zend_ini_scanner.l b/Zend/zend_ini_scanner.l index 0c452e6..23350fb 100644 index 0c452e6..c94ff70 100644 --- a/Zend/zend_ini_scanner.l +++ b/Zend/zend_ini_scanner.l @@ -347,7 +347,7 @@ DOLLAR_CURLY "${" +RAW_VALUE_CHARS [^"\n\r;\000] LITERAL_DOLLAR ("$"([^{\000]|("\\"{ANY_CHAR}))) VALUE_CHARS ([^$= \t\n\r;&|~()!"'\000]|{LITERAL_DOLLAR}) @@ -445,12 +445,39 @@ SECTION_VALUE_CHARS ([^$\n\r;"'\]\\]|("\\"{ANY_CHAR})|{LITERAL_DOLLAR}) @@ -445,12 +445,41 @@ SECTION_VALUE_CHARS ([^$\n\r;"'\]\\]|("\\"{ANY_CHAR})|{LITERAL_DOLLAR}) return '='; } -<ST_RAW>{RAW_VALUE_CHARS}+ { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ + switch (*YYCURSOR++) { + case '"': + yyleng = YYCURSOR - SCNG(yy_text) - 2; + SCNG(yy_text)++; + RETURN_TOKEN(TC_RAW, yytext, yyleng); + zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC); + return TC_RAW; + case '\\': + if (YYCURSOR < YYLIMIT) { + YYCURSOR++; + } + break; + } } + yyleng = YYCURSOR - SCNG(yy_text); + RETURN_TOKEN(TC_RAW, yytext, yyleng); + zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC); + return TC_RAW; +} + +<ST_RAW>{RAW_VALUE_CHARS} { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ + while (YYCURSOR < YYLIMIT) { |
Copyright © 2001-2024 The PHP Group All rights reserved. |
Last updated: Tue Mar 19 06:01:30 2024 UTC |