From 67abcb58c37559995c337db96f94efdbaa85ae6a Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 13 Apr 2006 13:48:28 +0000 Subject: [PATCH] Fixed bug #36513 (comment will be outputed in last line) --- NEWS | 1 + Zend/tests/bug36513.phpt | 22 ++++++++++++++++++++++ Zend/zend_language_scanner.l | 4 ++-- 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100755 Zend/tests/bug36513.phpt diff --git a/NEWS b/NEWS index 7a06400b58c..47b50a16020 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,7 @@ PHP NEWS - Fixed bug #37046 (foreach breaks static scope). (Dmitry) - Fixed bug #37002 (Have to quote literals in INI when concatenating with vars). (Dmitry) +- Fixed bug #36513 (comment will be outputed in last line). (Dmitry) 06 Apr 2006, PHP 5.1.3RC3 - Eliminated run-time constant fetching for TRUE, FALSE and NULL. (Dmitry) diff --git a/Zend/tests/bug36513.phpt b/Zend/tests/bug36513.phpt new file mode 100755 index 00000000000..f46da4efc57 --- /dev/null +++ b/Zend/tests/bug36513.phpt @@ -0,0 +1,22 @@ +--TEST-- +Bug #36513 (comment will be outputed in last line) +--FILE-- +5'); +echo "\n"; + +//test('5'); +?> +--EXPECT-- +135 +'5' diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 66e98988f74..57581404f3e 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -1461,7 +1461,7 @@ NEWLINE ("\r"|"\n"|"\r\n") yymore(); } -[^\n\r?%>]+{ANY_CHAR} { +[^\n\r?%>]*{ANY_CHAR} { switch (yytext[yyleng-1]) { case '?': case '%': case '>': yyless(yyleng-1); @@ -1491,7 +1491,7 @@ NEWLINE ("\r"|"\n"|"\r\n") "?>"|"%>" { if (CG(asp_tags) || yytext[yyleng-2] != '%') { /* asp comment? */ zendlval->value.str.val = yytext; /* no copying - intentional */ - zendlval->value.str.len = yyleng; + zendlval->value.str.len = yyleng-2; zendlval->type = IS_STRING; yyless(yyleng-2); BEGIN(ST_IN_SCRIPTING);