summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>1999-12-15 09:10:22 +0000
committerAndi Gutmans <andi@php.net>1999-12-15 09:10:22 +0000
commit4e1a9625c61098bdd209a9a6015f592485d15a91 (patch)
tree8db7cd385569282e7c40fd71a6e641c030443c29 /Zend/zend_execute.c
parent05f8c04928a53ad64f43ed78eddae684f513aefa (diff)
downloadphp-git-4e1a9625c61098bdd209a9a6015f592485d15a91.tar.gz
- Preliminary return ref patch. It breaks libzend so don't use this branch
right now.
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 59918742ed..9ba08a857c 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -1549,7 +1549,10 @@ do_fcall_common:
zval *retval_ptr;
zval **retval_ptr_ptr;
- if (opline->extended_value) {
+ if ((EG(active_op_array)->return_reference == ZEND_RETURN_REF) &&
+ (opline->op1.op_type != IS_CONST) &&
+ (opline->op1.op_type != IS_TMP_VAR)) {
+
retval_ptr_ptr = get_zval_ptr_ptr(&opline->op1, Ts, BP_VAR_R);
if (!PZVAL_IS_REF(*retval_ptr_ptr)) {