From: Nuno Lopes Date: Thu, 10 Apr 2008 19:19:04 +0000 (+0000) Subject: fix heredoc+nowdoc X-Git-Tag: BEFORE_NEW_PARAMETER_PARSE~400 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7507ff326efed2c0e0cc37a504cf2927c4e3ee64;p=php fix heredoc+nowdoc #patch by Matt Wilmas --- diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 82fec6c303..b6b07013f0 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -4680,8 +4680,6 @@ again: case T_END_NOWDOC: efree(Z_STRVAL(zendlval->u.constant)); break; - case EOF: - return EOF; } INIT_PZVAL(&zendlval->u.constant); diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 9807442a34..c77bbf6693 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5.dev on Wed Apr 9 22:52:47 2008 */ +/* Generated by re2c 0.13.5.dev on Thu Apr 10 20:01:41 2008 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ @@ -2519,9 +2519,9 @@ yy181: /* Go back before last label char, to match in ST_END_HEREDOC state */ yyless(yyleng - 2); - /* Subtract the label/newline length. yyleng must include newline + /* Subtract the remaining label length. yyleng must include newline * before label, for zend_highlight/strip, tokenizer, etc. */ - yyleng -= CG(heredoc_len) + 1; + yyleng -= CG(heredoc_len) - 1; CG(increment_lineno) = 1; /* For newline before label */ BEGIN(ST_END_HEREDOC); @@ -8279,9 +8279,9 @@ yy932: /* Go back before last label char, to match in ST_END_NOWDOC state */ yyless(yyleng - 2); - /* Subtract the label/newline length. yyleng must include newline + /* Subtract the remaining label length. yyleng must include newline * before label, for zend_highlight/strip, tokenizer, etc. */ - yyleng -= CG(heredoc_len) + 1; + yyleng -= CG(heredoc_len) - 1; CG(increment_lineno) = 1; /* For newline before label */ BEGIN(ST_END_NOWDOC); diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 8802ffd131..16523f99e8 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -1733,9 +1733,9 @@ inline_char_handler: /* Go back before last label char, to match in ST_END_HEREDOC state */ yyless(yyleng - 2); - /* Subtract the label/newline length. yyleng must include newline + /* Subtract the remaining label length. yyleng must include newline * before label, for zend_highlight/strip, tokenizer, etc. */ - yyleng -= CG(heredoc_len) + 1; + yyleng -= CG(heredoc_len) - 1; CG(increment_lineno) = 1; /* For newline before label */ BEGIN(ST_END_HEREDOC); @@ -1885,9 +1885,9 @@ inline_char_handler: /* Go back before last label char, to match in ST_END_NOWDOC state */ yyless(yyleng - 2); - /* Subtract the label/newline length. yyleng must include newline + /* Subtract the remaining label length. yyleng must include newline * before label, for zend_highlight/strip, tokenizer, etc. */ - yyleng -= CG(heredoc_len) + 1; + yyleng -= CG(heredoc_len) - 1; CG(increment_lineno) = 1; /* For newline before label */ BEGIN(ST_END_NOWDOC); diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h index 7624797e71..146a2c6cf6 100644 --- a/Zend/zend_language_scanner_defs.h +++ b/Zend/zend_language_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5.dev on Wed Apr 9 22:52:47 2008 */ +/* Generated by re2c 0.13.5.dev on Thu Apr 10 20:01:41 2008 */ #line 3 "Zend/zend_language_scanner_defs.h" enum YYCONDTYPE {