]> granicus.if.org Git - php/commitdiff
Fix CLI test and drop some now unnecessary code
authorNikita Popov <nikic@php.net>
Mon, 9 Mar 2015 13:08:01 +0000 (14:08 +0100)
committerNikita Popov <nikic@php.net>
Mon, 9 Mar 2015 13:09:34 +0000 (14:09 +0100)
main/main.c
sapi/cli/tests/bug43177.phpt

index ffbead83c8c2bb277faeb3ffdf6fbd9db19a9cbe..14f86b0ad17dac55642ee97ddc9364f56686a148 100644 (file)
@@ -1186,29 +1186,11 @@ static void php_error_cb(int type, const char *error_filename, const uint error_
                case E_PARSE:
                case E_COMPILE_ERROR:
                case E_USER_ERROR:
-               { /* new block to allow variable definition */
-                       /* eval() errors do not affect exit_status or response code */
-                       zend_bool during_eval = 0;
-
-                       if (type == E_PARSE) {
-                               zend_execute_data *execute_data = EG(current_execute_data);
-
-                               while (execute_data && (!execute_data->func || !ZEND_USER_CODE(execute_data->func->common.type))) {
-                                       execute_data = execute_data->prev_execute_data;
-                               }
-
-                               during_eval = (execute_data &&
-                                       execute_data->opline->opcode == ZEND_INCLUDE_OR_EVAL &&
-                                       execute_data->opline->extended_value == ZEND_EVAL);
-                       }
-                       if (!during_eval) {
-                               EG(exit_status) = 255;
-                       }
+                       EG(exit_status) = 255;
                        if (module_initialized) {
                                if (!PG(display_errors) &&
                                    !SG(headers_sent) &&
-                                       SG(sapi_headers).http_response_code == 200 &&
-                                   !during_eval
+                                       SG(sapi_headers).http_response_code == 200
                                ) {
                                        sapi_header_line ctr = {0};
 
@@ -1229,7 +1211,6 @@ static void php_error_cb(int type, const char *error_filename, const uint error_
                                }
                        }
                        break;
-               }
        }
 
        /* Log if necessary */
index a97769cf8f16152c6095a04dcf1a20a3cd78a76d..c0a8da4d4dd113c36758f27cd5643365edde5b2e 100644 (file)
@@ -11,7 +11,10 @@ php_cli_server_start(<<<'SCRIPT'
        ini_set('display_errors', 0);
        switch($_SERVER["REQUEST_URI"]) {
                case "/parse":
-                       eval("this is a parse error");
+                       try {
+                        eval("this is a parse error");
+                    } catch (ParseException $e) {
+                    }
                                        echo "OK\n";
                        break;
                case "/fatal":