Browse Source

Fix bug #55445 (Incomplete implementation of <?= being independant of short_open_tag)

pull/7/head
Etienne Kneuss 14 years ago
parent
commit
cb8d6198df
  1. 8
      Zend/tests/bug55445.phpt
  2. 4
      Zend/zend_language_scanner.c
  3. 2
      Zend/zend_language_scanner.l
  4. 2
      Zend/zend_language_scanner_defs.h

8
Zend/tests/bug55445.phpt

@ -0,0 +1,8 @@
--TEST--
Bug #55445 (Lexer error with short open tags)
--INI--
short_open_tag=0
--FILE--
<?php $u = "chris"; ?><p>Welcome <?= $u ?></p>
--EXPECTF--
<p>Welcome chris</p>

4
Zend/zend_language_scanner.c

@ -1,4 +1,4 @@
/* Generated by re2c 0.13.5 on Tue Aug 16 12:22:59 2011 */
/* Generated by re2c 0.13.5 on Thu Aug 18 01:37:48 2011 */
#line 1 "Zend/zend_language_scanner.l"
/*
+----------------------------------------------------------------------+
@ -1099,7 +1099,7 @@ inline_char_handler:
if (YYCURSOR < YYLIMIT) {
switch (*YYCURSOR) {
case '?':
if (CG(short_tags) || !strncasecmp(YYCURSOR + 1, "php", 3)) { /* Assume [ \t\n\r] follows "php" */
if (CG(short_tags) || !strncasecmp(YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */
break;
}
continue;

2
Zend/zend_language_scanner.l

@ -1780,7 +1780,7 @@ inline_char_handler:
if (YYCURSOR < YYLIMIT) {
switch (*YYCURSOR) {
case '?':
if (CG(short_tags) || !strncasecmp(YYCURSOR + 1, "php", 3)) { /* Assume [ \t\n\r] follows "php" */
if (CG(short_tags) || !strncasecmp(YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */
break;
}
continue;

2
Zend/zend_language_scanner_defs.h

@ -1,4 +1,4 @@
/* Generated by re2c 0.13.5 on Sun Jul 31 20:09:38 2011 */
/* Generated by re2c 0.13.5 on Thu Aug 18 01:37:48 2011 */
#line 3 "Zend/zend_language_scanner_defs.h"
enum YYCONDTYPE {

Loading…
Cancel
Save