summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfoobar <sniper@php.net>2005-07-29 00:22:02 +0000
committerfoobar <sniper@php.net>2005-07-29 00:22:02 +0000
commit49787c93beed24a5e896e9a8523dd7d32390bd16 (patch)
tree1832c7d928010f23b9a423eadf12cf3deb7c25ac
parenta2c0f112354a77417aa1a12bc1a506526b753e12 (diff)
downloadphp-git-49787c93beed24a5e896e9a8523dd7d32390bd16.tar.gz
update generated file
-rw-r--r--Zend/zend_vm_execute.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index cff24db0f2..86d68cb5ef 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -98,7 +98,7 @@ ZEND_API void execute(zend_op_array *op_array TSRMLS_DC)
static int ZEND_JMP_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
#if DEBUG_ZEND>=2
- printf("Jumping to %d\n", opline->op1.u.opline_num);
+ printf("Jumping to %d\n", EX(opline)->op1.u.opline_num);
#endif
ZEND_VM_SET_OPCODE(EX(opline)->op1.u.jmp_addr);
ZEND_VM_CONTINUE(); /* CHECK_ME */
@@ -187,8 +187,10 @@ static int zend_do_fcall_common_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS)
}
EG(current_execute_data) = execute_data;
- EX_T(opline->result.u.var).var.ptr->is_ref = 0;
- EX_T(opline->result.u.var).var.ptr->refcount = 1;
+ if (!EX(function_state).function->common.return_reference) {
+ EX_T(opline->result.u.var).var.ptr->is_ref = 0;
+ EX_T(opline->result.u.var).var.ptr->refcount = 1;
+ }
if (!return_value_used) {
zval_ptr_dtor(&EX_T(opline->result.u.var).var.ptr);
}