diff options
author | Felipe Pena <felipe@php.net> | 2010-07-14 02:21:38 +0000 |
---|---|---|
committer | Felipe Pena <felipe@php.net> | 2010-07-14 02:21:38 +0000 |
commit | 5e04ca2e54176d3cb43192e26ab830ff51c81b1c (patch) | |
tree | 6fc3d5a7690813c059b27170a1b83460bf89a271 | |
parent | 5f5486b706a575239c73e6d27b18d43ce837bae1 (diff) | |
download | php-git-5e04ca2e54176d3cb43192e26ab830ff51c81b1c.tar.gz |
- Disable error recovery
-rw-r--r-- | Zend/zend_compile.c | 12 | ||||
-rw-r--r-- | Zend/zend_language_parser.y | 1 |
2 files changed, 6 insertions, 7 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index b502deb254..f7578ad92a 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -6167,24 +6167,22 @@ again: zend_lang_parse(pParser, token, zendlval TSRMLS_CC); CG(zend_lineno) = lineno; - if (token == 0) { + if (token == 0 || EG(exit_status) == 255) { break; - } else if (EG(exit_status) == 255 || (halting == 1 && token == T_SEMICOLON)) { - /* Handles E_PARSE and __HALT_COMPILER(); */ + } else if (halting == 1 && token == T_SEMICOLON){ + /* Handles __HALT_COMPILER(); */ zend_lang_parse(pParser, 0, zendlval TSRMLS_CC); - if (EG(exit_status) == 255) { - goto end_parse; - } break; } } -end_parse: zend_lang_parseFree(pParser, free); + if (EG(exit_status) == 255) { /* We got an E_PARSE */ return 1; } EG(exit_status) = old_exit_status; + return 0; } /* }}} */ diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index 21436f80fd..cf87380aac 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -30,6 +30,7 @@ #include "zend_API.h" #include "zend_constants.h" +#define YYNOERRORRECOVERY #define NDEBUG } |