]> granicus.if.org Git - php/commitdiff
Always properly show exit status in phpdbg
authorBob Weinand <bobwei9@hotmail.com>
Sat, 19 Sep 2015 16:30:07 +0000 (18:30 +0200)
committerBob Weinand <bobwei9@hotmail.com>
Sat, 19 Sep 2015 16:30:07 +0000 (18:30 +0200)
Especially when it is only set after main run (e.g. register_shutdown_function)

sapi/phpdbg/phpdbg.c

index de87242e448c22471f0849419ec63b47185f8384..bf3a45184e071b1438877510cb1393000274a9bd 100644 (file)
@@ -1305,7 +1305,7 @@ int main(int argc, char **argv) /* {{{ */
        zend_bool ext_stmt = 0;
        zend_bool use_mm_wrappers = 0;
        zend_bool is_exit;
-       int exit_status = 0;
+       int exit_status;
 
 #ifdef ZTS
        void ***tsrm_ls;
@@ -1359,6 +1359,7 @@ phpdbg_main:
        php_optind = 1;
        opt = 0;
        sapi_name = NULL;
+       exit_status = 0;
        if (settings) {
                exec = settings->exec;
        }
@@ -1971,6 +1972,10 @@ phpdbg_out:
                        php_request_shutdown(NULL);
                } zend_end_try();
 
+               if (exit_status == 0) {
+                       exit_status = EG(exit_status);
+               }
+
                if (!(PHPDBG_G(flags) & PHPDBG_IS_QUITTING)) {
                        if (PHPDBG_G(in_execution) || is_exit) {
                                if (!quit_immediately && !phpdbg_startup_run) {