summaryrefslogtreecommitdiff
path: root/Zend/zend_closures.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2013-08-26 19:14:34 +0200
committerNikita Popov <nikic@php.net>2013-08-31 13:16:50 +0200
commit47ee470992014c738891d05b5acc89c2de90f2ac (patch)
treebdb82c28d5ead2a29794da2d295372fee6cb5c1d /Zend/zend_closures.c
parent08567145763f25aae3882f682d41d1b50cd9e666 (diff)
downloadphp-git-47ee470992014c738891d05b5acc89c2de90f2ac.tar.gz
Make use of direct returns in some places
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 5faefbd224..fcad86f171 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);