summaryrefslogtreecommitdiff
path: root/ext/reflection/php_reflection.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2016-09-30 22:10:32 +0200
committerNikita Popov <nikic@php.net>2016-09-30 22:10:32 +0200
commit9f92bb80e41bddfc1fdd42c0544893ad207037a0 (patch)
treed079489f7810fa290362c816f7eb3902687add16 /ext/reflection/php_reflection.c
parent14d96d93bd2565e1752c626b4a44880e82b7a75f (diff)
parent02ba9d71abc9f830fc9707eb2a7daabf37298f7d (diff)
downloadphp-git-9f92bb80e41bddfc1fdd42c0544893ad207037a0.tar.gz
Merge branch 'PHP-7.1'
Diffstat (limited to 'ext/reflection/php_reflection.c')
-rw-r--r--ext/reflection/php_reflection.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c
index 52d35409d3..9ecb04d461 100644
--- a/ext/reflection/php_reflection.c
+++ b/ext/reflection/php_reflection.c
@@ -1985,6 +1985,9 @@ ZEND_METHOD(reflection_function, invoke)
}
if (Z_TYPE(retval) != IS_UNDEF) {
+ if (Z_ISREF(retval)) {
+ zend_unwrap_reference(&retval);
+ }
ZVAL_COPY_VALUE(return_value, &retval);
}
}
@@ -2048,6 +2051,9 @@ ZEND_METHOD(reflection_function, invokeArgs)
}
if (Z_TYPE(retval) != IS_UNDEF) {
+ if (Z_ISREF(retval)) {
+ zend_unwrap_reference(&retval);
+ }
ZVAL_COPY_VALUE(return_value, &retval);
}
}
@@ -3323,6 +3329,9 @@ static void reflection_method_invoke(INTERNAL_FUNCTION_PARAMETERS, int variadic)
}
if (Z_TYPE(retval) != IS_UNDEF) {
+ if (Z_ISREF(retval)) {
+ zend_unwrap_reference(&retval);
+ }
ZVAL_COPY_VALUE(return_value, &retval);
}
}