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);