]> granicus.if.org Git - php/commitdiff
MFZE1
authorZeev Suraski <zeev@php.net>
Fri, 31 Aug 2001 13:11:52 +0000 (13:11 +0000)
committerZeev Suraski <zeev@php.net>
Fri, 31 Aug 2001 13:11:52 +0000 (13:11 +0000)
Zend/zend.c
Zend/zend_compile.h

index b864b9dadca56338e0d01aafbdbab7c1f965b935..6eb3e931b621e97796063ee7ae64cd00798acf45 100644 (file)
@@ -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));
index ef3b2a214ba8778c98042368a473ffdd1ac34e19..64a7d646bbc4f7f476aa562854bbec3c24858792 100644 (file)
@@ -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);