Fixed bug #36513 (comment will be outputed in last line)

This commit is contained in:
Dmitry Stogov 2006-04-13 13:48:28 +00:00
parent af429910ef
commit 67abcb58c3
3 changed files with 25 additions and 2 deletions

1
NEWS
View File

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

22
Zend/tests/bug36513.phpt Executable file
View File

@ -0,0 +1,22 @@
--TEST--
Bug #36513 (comment will be outputed in last line)
--FILE--
<?php
function test($s) {
echo "'".trim(str_replace("&nbsp;", " ", htmlspecialchars_decode(strip_tags(highlight_string($s,1)))))."'\n";
}
eval('echo "1";//2');
eval('echo 3; //{ 4?>5');
echo "\n";
//test('<?php echo "1";//');
test('<?php echo "1";//2');
test('<?php echo "1";//22');
test('<?php echo 3; // 4 ?>5');
?>
--EXPECT--
135
'<?php echo "1";//2'
'<?php echo "1";//22'
'<?php echo 3; // 4 ?>5'

View File

@ -1461,7 +1461,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
yymore();
}
<ST_ONE_LINE_COMMENT>[^\n\r?%>]+{ANY_CHAR} {
<ST_ONE_LINE_COMMENT>[^\n\r?%>]*{ANY_CHAR} {
switch (yytext[yyleng-1]) {
case '?': case '%': case '>':
yyless(yyleng-1);
@ -1491,7 +1491,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
<ST_ONE_LINE_COMMENT>"?>"|"%>" {
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);