diff options
author | Sara Golemon <pollita@php.net> | 2006-10-05 23:32:52 +0000 |
---|---|---|
committer | Sara Golemon <pollita@php.net> | 2006-10-05 23:32:52 +0000 |
commit | 67fac322af112e7e85c11bea60575814a708d193 (patch) | |
tree | c8a529972a4c527da24d81ad407086dfbe0e70af /Zend/zend.c | |
parent | b37dd23c3504499d0e4a0a0b571cc9e7f3dd3f8b (diff) | |
download | php-git-67fac322af112e7e85c11bea60575814a708d193.tar.gz |
MFH(r-1.376): Preserve EG(return_value_ptr_ptr) when calling zend_execute_scripts()
Diffstat (limited to 'Zend/zend.c')
-rw-r--r-- | Zend/zend.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Zend/zend.c b/Zend/zend.c index fbef8186c7..e23005b739 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -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; } |