summaryrefslogtreecommitdiff
path: root/Zend/zend_closures.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_closures.c')
-rw-r--r--Zend/zend_closures.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/Zend/zend_closures.c b/Zend/zend_closures.c
index 0812724826..bd2ede329d 100644
--- a/Zend/zend_closures.c
+++ b/Zend/zend_closures.c
@@ -59,14 +59,8 @@ ZEND_METHOD(Closure, __invoke) /* {{{ */
} else if (call_user_function_ex(CG(function_table), NULL, this_ptr, &closure_result_ptr, ZEND_NUM_ARGS(), arguments, 1, NULL TSRMLS_CC) == FAILURE) {
RETVAL_FALSE;
} else if (closure_result_ptr) {
- if (Z_ISREF_P(closure_result_ptr) && return_value_ptr) {
- if (return_value) {
- zval_ptr_dtor(&return_value);
- }
- *return_value_ptr = closure_result_ptr;
- } else {
- RETVAL_ZVAL(closure_result_ptr, 1, 1);
- }
+ zval_ptr_dtor(&return_value);
+ *return_value_ptr = closure_result_ptr;
}
efree(arguments);