ID:               45372
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Critical
 Bug Type:         Scripting Engine problem
 Operating System: linux
 PHP Version:      5.3CVS-2008-06-27 (CVS)
 New Comment:

marking as critical....


Previous Comments:
------------------------------------------------------------------------

[2008-06-27 06:00:54] [EMAIL PROTECTED]

Description:
------------
single line file:

<?php if (1) { ?>#<?php }  ?>

produces a parse error:

get's caught with this rule from the re2c scanner.
<INITIAL>"#".+ {NEWLINE} {
        if ((YYCTYPE*)yytext == SCNG(yy_start)) {
                /* ignore first line when it's started with a # */
                goto restart;
        } else {
                goto inline_char_handler;
        }
}


basically the scanner runs off the end, and eats everything after the
#

I've fixed it by changing the above to something like:
} else {
        /* shunt back to just return the # on it's own..   */
        YYCURSOR = YYMARKER;
          yyleng = 1;
        goto inline_char_handler;
}









------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=45372&edit=1

Reply via email to