From 96258d4a76473bf2bd9d7cf506b21cbfb80906fd Mon Sep 17 00:00:00 2001 From: Nuno Lopes Date: Sun, 6 Jul 2008 16:42:10 +0000 Subject: [PATCH] MFB --- Zend/zend_language_scanner.l | 7 ++++--- sapi/cli/tests/016.phpt | 3 +++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index af38c9c848..4858257a47 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -2159,12 +2159,15 @@ NOWDOC_CHARS ({NEWLINE}*(([^a-zA-Z_\x7f-\xff\n\r][^\n\r]*)|({LABEL}[^a-zA-Z0-9_ /* ignore first line when it's started with a # */ goto restart; } else { + YYCURSOR = yytext+1; goto inline_char_handler; } } {ANY_CHAR} { +inline_char_handler: + while (1) { YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR); @@ -2177,7 +2180,7 @@ NOWDOC_CHARS ({NEWLINE}*(([^a-zA-Z_\x7f-\xff\n\r][^\n\r]*)|({LABEL}[^a-zA-Z0-9_ YYCURSOR = ptr + 1; /* if it can be an opening tag, stop */ - if (ptr < YYLIMIT && (*YYCURSOR == '?' || *YYCURSOR == '%')) { + if (YYCURSOR < YYLIMIT && (*YYCURSOR == '?' || *YYCURSOR == '%')) { --YYCURSOR; yyleng = YYCURSOR - SCNG(yy_text); break; @@ -2185,8 +2188,6 @@ NOWDOC_CHARS ({NEWLINE}*(([^a-zA-Z_\x7f-\xff\n\r][^\n\r]*)|({LABEL}[^a-zA-Z0-9_ } } -inline_char_handler: - Z_STRVAL_P(zendlval) = (char *) estrndup(yytext, yyleng); Z_STRLEN_P(zendlval) = yyleng; Z_TYPE_P(zendlval) = IS_STRING; diff --git a/sapi/cli/tests/016.phpt b/sapi/cli/tests/016.phpt index 0b90844f37..adde106df0 100644 --- a/sapi/cli/tests/016.phpt +++ b/sapi/cli/tests/016.phpt @@ -11,6 +11,9 @@ if (!extension_loaded('readline') || readline_info('done') === NULL) {