Skip to content

Commit cb8d619

Browse files
committed
Fix bug #55445 (Incomplete implementation of <?= being independant of short_open_tag)
1 parent 5e0bf53 commit cb8d619

File tree

4 files changed

+12
-4
lines changed

4 files changed

+12
-4
lines changed

Zend/tests/bug55445.phpt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
--TEST--
2+
Bug #55445 (Lexer error with short open tags)
3+
--INI--
4+
short_open_tag=0
5+
--FILE--
6+
<?php $u = "chris"; ?><p>Welcome <?= $u ?></p>
7+
--EXPECTF--
8+
<p>Welcome chris</p>

Zend/zend_language_scanner.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Generated by re2c 0.13.5 on Tue Aug 16 12:22:59 2011 */
1+
/* Generated by re2c 0.13.5 on Thu Aug 18 01:37:48 2011 */
22
#line 1 "Zend/zend_language_scanner.l"
33
/*
44
+----------------------------------------------------------------------+
@@ -1099,7 +1099,7 @@ int lex_scan(zval *zendlval TSRMLS_DC)
10991099
if (YYCURSOR < YYLIMIT) {
11001100
switch (*YYCURSOR) {
11011101
case '?':
1102-
if (CG(short_tags) || !strncasecmp(YYCURSOR + 1, "php", 3)) { /* Assume [ \t\n\r] follows "php" */
1102+
if (CG(short_tags) || !strncasecmp(YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */
11031103
break;
11041104
}
11051105
continue;

Zend/zend_language_scanner.l

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1780,7 +1780,7 @@ inline_char_handler:
17801780
if (YYCURSOR < YYLIMIT) {
17811781
switch (*YYCURSOR) {
17821782
case '?':
1783-
if (CG(short_tags) || !strncasecmp(YYCURSOR + 1, "php", 3)) { /* Assume [ \t\n\r] follows "php" */
1783+
if (CG(short_tags) || !strncasecmp(YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */
17841784
break;
17851785
}
17861786
continue;

Zend/zend_language_scanner_defs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Generated by re2c 0.13.5 on Sun Jul 31 20:09:38 2011 */
1+
/* Generated by re2c 0.13.5 on Thu Aug 18 01:37:48 2011 */
22
#line 3 "Zend/zend_language_scanner_defs.h"
33

44
enum YYCONDTYPE {

0 commit comments

Comments
 (0)