Browse Source

fix heredoc+nowdoc

#patch by Matt Wilmas
PECL
Nuno Lopes 18 years ago
parent
commit
7507ff326e
  1. 2
      Zend/zend_compile.c
  2. 10
      Zend/zend_language_scanner.c
  3. 8
      Zend/zend_language_scanner.l
  4. 2
      Zend/zend_language_scanner_defs.h

2
Zend/zend_compile.c

@ -4680,8 +4680,6 @@ again:
case T_END_NOWDOC:
efree(Z_STRVAL(zendlval->u.constant));
break;
case EOF:
return EOF;
}
INIT_PZVAL(&zendlval->u.constant);

10
Zend/zend_language_scanner.c

@ -1,4 +1,4 @@
/* Generated by re2c 0.13.5.dev on Wed Apr 9 22:52:47 2008 */
/* Generated by re2c 0.13.5.dev on Thu Apr 10 20:01:41 2008 */
#line 1 "Zend/zend_language_scanner.l"
/*
+----------------------------------------------------------------------+
@ -2519,9 +2519,9 @@ yy181:
/* Go back before last label char, to match in ST_END_HEREDOC state */
yyless(yyleng - 2);
/* Subtract the label/newline length. yyleng must include newline
/* Subtract the remaining label length. yyleng must include newline
* before label, for zend_highlight/strip, tokenizer, etc. */
yyleng -= CG(heredoc_len) + 1;
yyleng -= CG(heredoc_len) - 1;
CG(increment_lineno) = 1; /* For newline before label */
BEGIN(ST_END_HEREDOC);
@ -8279,9 +8279,9 @@ yy932:
/* Go back before last label char, to match in ST_END_NOWDOC state */
yyless(yyleng - 2);
/* Subtract the label/newline length. yyleng must include newline
/* Subtract the remaining label length. yyleng must include newline
* before label, for zend_highlight/strip, tokenizer, etc. */
yyleng -= CG(heredoc_len) + 1;
yyleng -= CG(heredoc_len) - 1;
CG(increment_lineno) = 1; /* For newline before label */
BEGIN(ST_END_NOWDOC);

8
Zend/zend_language_scanner.l

@ -1733,9 +1733,9 @@ inline_char_handler:
/* Go back before last label char, to match in ST_END_HEREDOC state */
yyless(yyleng - 2);
/* Subtract the label/newline length. yyleng must include newline
/* Subtract the remaining label length. yyleng must include newline
* before label, for zend_highlight/strip, tokenizer, etc. */
yyleng -= CG(heredoc_len) + 1;
yyleng -= CG(heredoc_len) - 1;
CG(increment_lineno) = 1; /* For newline before label */
BEGIN(ST_END_HEREDOC);
@ -1885,9 +1885,9 @@ inline_char_handler:
/* Go back before last label char, to match in ST_END_NOWDOC state */
yyless(yyleng - 2);
/* Subtract the label/newline length. yyleng must include newline
/* Subtract the remaining label length. yyleng must include newline
* before label, for zend_highlight/strip, tokenizer, etc. */
yyleng -= CG(heredoc_len) + 1;
yyleng -= CG(heredoc_len) - 1;
CG(increment_lineno) = 1; /* For newline before label */
BEGIN(ST_END_NOWDOC);

2
Zend/zend_language_scanner_defs.h

@ -1,4 +1,4 @@
/* Generated by re2c 0.13.5.dev on Wed Apr 9 22:52:47 2008 */
/* Generated by re2c 0.13.5.dev on Thu Apr 10 20:01:41 2008 */
#line 3 "Zend/zend_language_scanner_defs.h"
enum YYCONDTYPE {

Loading…
Cancel
Save