php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Return to Bug #51094
Patch bug51094.diff revision 2012-06-07 13:32 UTC by pierrick@php.net
revision 2012-06-06 17:00 UTC by pierrick@php.net

Patch bug51094.diff for Filesystem function related Bug #51094

Patch version 2012-06-07 13:32 UTC

Return to Bug #51094 | Download this patch
This patch renders other patches obsolete

Obsolete patches:

Patch Revisions: 2012-06-07 13:32 UTC | 2012-06-06 17:00 UTC

Developer: pierrick@php.net



  diff --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) {
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Mar 19 06:01:30 2024 UTC