From bfdaf6e8060e6cc9ceb649a5d4b5354688ae45ef Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 13 Mar 2014 17:59:50 +0400 Subject: [PATCH] Fixed reference support --- Zend/zend_API.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Zend/zend_API.h b/Zend/zend_API.h index da401fe951..206d9cfbed 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -574,7 +574,12 @@ END_EXTERN_C() #define ZVAL_ZVAL(z, zv, copy, dtor) do { \ zval *__z = (z); \ zval *__zv = (zv); \ - ZVAL_COPY_VALUE(__z, __zv); \ + if (EXPECTED(!Z_ISREF_P(__zv))) { \ + ZVAL_COPY_VALUE(__z, __zv); \ + } else { \ + ZVAL_COPY_VALUE(__z, \ + Z_REFVAL_P(__zv)); \ + } \ if (copy) { \ zval_copy_ctor(__z); \ } \ -- 2.50.1