From: Dmitry Stogov Date: Thu, 13 Mar 2014 13:59:50 +0000 (+0400) Subject: Fixed reference support X-Git-Tag: POST_PHPNG_MERGE~412^2~334 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bfdaf6e8060e6cc9ceb649a5d4b5354688ae45ef;p=php Fixed reference support --- 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); \ } \