]> granicus.if.org Git - php/commitdiff
MFH(r-1.376): Preserve EG(return_value_ptr_ptr) when calling zend_execute_scripts()
authorSara Golemon <pollita@php.net>
Thu, 5 Oct 2006 23:32:52 +0000 (23:32 +0000)
committerSara Golemon <pollita@php.net>
Thu, 5 Oct 2006 23:32:52 +0000 (23:32 +0000)
Zend/zend.c

index fbef8186c7577e2a78bfaa000d69c3e0a9a53367..e23005b739a22534bb22b24b2a8dd3b92fdf01ac 100644 (file)
@@ -1077,6 +1077,7 @@ ZEND_API int zend_execute_scripts(int type TSRMLS_DC, zval **retval, int file_co
        int i;
        zend_file_handle *file_handle;
        zend_op_array *orig_op_array = EG(active_op_array);
+       zval **orig_retval_ptr_ptr = EG(return_value_ptr_ptr);
        zval *local_retval=NULL;
 
        va_start(files, file_count);
@@ -1139,11 +1140,13 @@ ZEND_API int zend_execute_scripts(int type TSRMLS_DC, zval **retval, int file_co
                } else if (type==ZEND_REQUIRE) {
                        va_end(files);
                        EG(active_op_array) = orig_op_array;
+                       EG(return_value_ptr_ptr) = orig_retval_ptr_ptr;
                        return FAILURE;
                }
        }
        va_end(files);
        EG(active_op_array) = orig_op_array;
+       EG(return_value_ptr_ptr) = orig_retval_ptr_ptr;
 
        return SUCCESS;
 }