summaryrefslogtreecommitdiff
path: root/Zend/zend.c
diff options
context:
space:
mode:
authorSara Golemon <pollita@php.net>2006-10-06 16:50:21 +0000
committerSara Golemon <pollita@php.net>2006-10-06 16:50:21 +0000
commiteed736d010201c39ce753c04d4820365d176a0e8 (patch)
treea78d60adae74ba552d82aaeb9300c037e4193202 /Zend/zend.c
parent24195cf94109123d4f4536a2f9790f03efd2c899 (diff)
downloadphp-git-eed736d010201c39ce753c04d4820365d176a0e8.tar.gz
MFH(r-1.376): Preserve EG(return_value_ptr_ptr) when calling zend_execute_scripts()
Reapplying this since it looks like we'll be doing a PHP 5.2 RC6 after all
Diffstat (limited to 'Zend/zend.c')
-rw-r--r--Zend/zend.c3
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;
}