From 7507ff326efed2c0e0cc37a504cf2927c4e3ee64 Mon Sep 17 00:00:00 2001 From: Nuno Lopes Date: Thu, 10 Apr 2008 19:19:04 +0000 Subject: [PATCH] fix heredoc+nowdoc #patch by Matt Wilmas --- Zend/zend_compile.c | 2 -- Zend/zend_language_scanner.c | 10 +++++----- Zend/zend_language_scanner.l | 8 ++++---- Zend/zend_language_scanner_defs.h | 2 +- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 82fec6c303e..b6b07013f01 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 9807442a34f..c77bbf66937 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 8802ffd1316..16523f99e8b 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 7624797e71e..146a2c6cf69 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 {