diff options
author | Zeev Suraski <zeev@php.net> | 2001-08-31 13:11:52 +0000 |
---|---|---|
committer | Zeev Suraski <zeev@php.net> | 2001-08-31 13:11:52 +0000 |
commit | 819ea51d00142ce3a1ebf73fe2761fdec6c1a7e6 (patch) | |
tree | 7adeb5510c4f9a15a4b9125fd07eb950677e8960 | |
parent | 392e1edee87917154c1a34acd747def6f096144b (diff) | |
download | php-git-819ea51d00142ce3a1ebf73fe2761fdec6c1a7e6.tar.gz |
MFZE1
-rw-r--r-- | Zend/zend.c | 8 | ||||
-rw-r--r-- | Zend/zend_compile.h | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/Zend/zend.c b/Zend/zend.c index b864b9dadc..6eb3e931b6 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -788,7 +788,7 @@ ZEND_API void zend_output_debug_string(zend_bool trigger_break, char *format, .. } -ZEND_API int zend_execute_scripts(int type TSRMLS_DC, int file_count, ...) +ZEND_API int zend_execute_scripts(int type TSRMLS_DC, zval **retval, int file_count, ...) { va_list files; int i; @@ -806,7 +806,11 @@ ZEND_API int zend_execute_scripts(int type TSRMLS_DC, int file_count, ...) if (EG(active_op_array)) { zend_execute(EG(active_op_array) TSRMLS_CC); zval_ptr_dtor(EG(return_value_ptr_ptr)); - EG(return_value_ptr_ptr) = &EG(global_return_value_ptr); + if (retval) { + EG(return_value_ptr_ptr) = retval; + } else { + EG(return_value_ptr_ptr) = &EG(global_return_value_ptr); + } EG(global_return_value_ptr) = NULL; destroy_op_array(EG(active_op_array)); efree(EG(active_op_array)); diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index ef3b2a214b..64a7d646bb 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -374,7 +374,7 @@ ZEND_API void function_add_ref(zend_function *function); ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSRMLS_DC); ZEND_API zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC); ZEND_API zend_op_array *compile_filename(int type, zval *filename TSRMLS_DC); -ZEND_API int zend_execute_scripts(int type TSRMLS_DC, int file_count, ...); +ZEND_API int zend_execute_scripts(int type TSRMLS_DC, zval **retval, int file_count, ...); ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC); ZEND_API void init_op_array(zend_op_array *op_array, int type, int initial_ops_size TSRMLS_DC); ZEND_API void destroy_op_array(zend_op_array *op_array); |