From 04ee70f6eba5c29c729f7a662e76a37b1ccb17d7 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Thu, 8 Dec 2005 03:12:34 +0000 Subject: [PATCH] MFB51: fix for bug #35382 fix for bug #35411 --- Zend/zend_language_scanner.l | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 1d4798cdf9..57a6330ac2 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -2106,16 +2106,22 @@ NEWLINE ("\r"|"\n"|"\r\n") yymore(); } -[^\n\r?%>]+ { - yymore(); -} - -<> { - zendlval->value.str.val = yytext; /* no copying - intentional */ - zendlval->value.str.len = yyleng; - zendlval->type = IS_STRING; - BEGIN(ST_IN_SCRIPTING); - return T_COMMENT; +[^\n\r?%>]+{ANY_CHAR} { + switch (yytext[yyleng-1]) { + case '?': case '%': case '>': + yyless(yyleng-1); + yymore(); + break; + case '\n': + CG(zend_lineno)++; + /* intentional fall through */ + default: + zendlval->value.str.val = yytext; /* no copying - intentional */ + zendlval->value.str.len = yyleng; + zendlval->type = IS_STRING; + BEGIN(ST_IN_SCRIPTING); + return T_COMMENT; + } } {NEWLINE} { @@ -2435,9 +2441,8 @@ NEWLINE ("\r"|"\n"|"\r\n") } } - -"\\{$" { - if (!zend_copy_string_value(zendlval, yytext+1, yyleng-1, CG(literal_type) TSRMLS_CC)) { +"\\{" { + if (!zend_copy_string_value(zendlval, yytext, yyleng, CG(literal_type) TSRMLS_CC)) { return 0; } return T_STRING; -- 2.50.1