summaryrefslogtreecommitdiff
path: root/ext/standard/array.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-03-18 13:20:11 +0400
committerDmitry Stogov <dmitry@zend.com>2014-03-18 13:20:11 +0400
commit6b6e90368806da38ed568d7f125f72121c11b37c (patch)
treee56e92b5665a5025d28203dd105a403786e33224 /ext/standard/array.c
parent2adecc6dc283fa39f4fc9d44ec128be497152323 (diff)
downloadphp-git-6b6e90368806da38ed568d7f125f72121c11b37c.tar.gz
Fixed support for references
Diffstat (limited to 'ext/standard/array.c')
-rw-r--r--ext/standard/array.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c
index de3e4b5573..cb3aa761bc 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -1438,6 +1438,9 @@ static void php_compact_var(HashTable *eg_active_symbol_table, zval *return_valu
{
zval *value_ptr, data;
+ if (Z_ISREF_P(entry)) {
+ entry = Z_REFVAL_P(entry);
+ }
if (Z_TYPE_P(entry) == IS_STRING) {
if ((value_ptr = zend_hash_find(eg_active_symbol_table, Z_STR_P(entry))) != NULL) {
ZVAL_DUP(&data, value_ptr);