diff --git a/Zend/tests/bug36037.phpt b/Zend/tests/bug36037.phpt new file mode 100755 index 00000000000..3ccebf652d3 --- /dev/null +++ b/Zend/tests/bug36037.phpt @@ -0,0 +1,14 @@ +--TEST-- +Bug #36037 (heredoc adds extra line number) +--FILE-- + +--EXPECT-- +2 +7 diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 593680e7467..5bd389df357 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -2286,7 +2286,6 @@ NEWLINE ("\r"|"\n"|"\r\n") ^{LABEL}(";")?{NEWLINE} { int label_len; - CG(zend_lineno)++; if (yytext[yyleng-2]=='\r') { label_len = yyleng-2; } else { @@ -2307,6 +2306,7 @@ NEWLINE ("\r"|"\n"|"\r\n") BEGIN(ST_IN_SCRIPTING); return T_END_HEREDOC; } else { + CG(zend_lineno)++; if (!zend_copy_string_value(zendlval, yytext, yyleng, CG(literal_type) TSRMLS_CC)) { return 0; }