]> granicus.if.org Git - php/commitdiff
Abort on parse error in an include file (patch by Ilia)
authorZeev Suraski <zeev@php.net>
Tue, 3 Feb 2004 14:32:02 +0000 (14:32 +0000)
committerZeev Suraski <zeev@php.net>
Tue, 3 Feb 2004 14:32:02 +0000 (14:32 +0000)
Zend/zend_execute.c
Zend/zend_language_scanner.l

index a6e645ff559d9a0d3afa7436499edba8b2ba19c6..4deb464d25a58508f29ce51dca0269ca96b7de80 100644 (file)
@@ -3365,9 +3365,6 @@ int zend_include_or_eval_handler(ZEND_OPCODE_HANDLER_ARGS)
                                        if (zend_hash_add(&EG(included_files), file_handle.opened_path, strlen(file_handle.opened_path)+1, (void *)&dummy, sizeof(int), NULL)==SUCCESS) {
                                                new_op_array = zend_compile_file(&file_handle, (opline->op2.u.constant.value.lval==ZEND_INCLUDE_ONCE?ZEND_INCLUDE:ZEND_REQUIRE) TSRMLS_CC);
                                                zend_destroy_file_handle(&file_handle TSRMLS_CC);
-                                               if (!new_op_array) {
-                                                       zend_error(E_ERROR, "Parse error inside included file.");
-                                               }
                                        } else {
                                                zend_file_handle_dtor(&file_handle);
                                                failure_retval=1;
index eff969e499acc0ff1983ed338849a27d1043ba0c..fe6b17d9f90a1abefa3e7d857a56aa33d3fe9bec 100644 (file)
@@ -368,8 +368,7 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSR
                zend_do_handle_exception(TSRMLS_C);
                CG(in_compilation) = original_in_compilation;
                if (compiler_result==1) { /* parser error */
-                       CG(unclean_shutdown) = 1;
-                       retval = NULL;
+                       zend_bailout();
                }
                compilation_successful=1;