]> granicus.if.org Git - php/commitdiff
Pass on the exit status
authorSascha Schumann <sas@php.net>
Wed, 22 Nov 2000 04:24:35 +0000 (04:24 +0000)
committerSascha Schumann <sas@php.net>
Wed, 22 Nov 2000 04:24:35 +0000 (04:24 +0000)
Zend/zend_execute.c
Zend/zend_globals.h

index 4c4e97492d0e2455871313b7c8528b292715120e..eb61393b69d908b416288fdc847ba9ba3c0873fc 100644 (file)
@@ -2280,7 +2280,13 @@ send_by_ref:
                                NEXT_OPCODE();
                        case ZEND_EXIT:
                                if (opline->op1.op_type != IS_UNUSED) {
-                                       zend_print_variable(get_zval_ptr(&opline->op1, Ts, &EG(free_op1), BP_VAR_R));
+                                       zval *ptr;
+
+                                       ptr = get_zval_ptr(&opline->op1, Ts, &EG(free_op1), BP_VAR_R);
+                                       if (Z_TYPE_P(ptr) == IS_LONG) {
+                                               EG(exit_status) = Z_LVAL_P(ptr);
+                                       }
+                                       zend_print_variable(ptr);
                                        FREE_OP(&opline->op1, EG(free_op1));
                                }
                                zend_bailout();
index 821a606a42c7caac91fff32651bcf3757597b2fe..50a2f6f06951b279e4250a9174560795c8b5206b 100644 (file)
@@ -151,6 +151,7 @@ struct _zend_executor_globals {
 
        int error_reporting;
        int orig_error_reporting;
+       int exit_status;
 
        zend_op_array *active_op_array;