summaryrefslogtreecommitdiff
path: root/Zend/zend_closures.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2015-02-13 22:20:39 +0300
committerDmitry Stogov <dmitry@zend.com>2015-02-13 22:20:39 +0300
commite10e151e9b92313a7085272c85bebf6c82017fce (patch)
tree6cac4100536c5e25143c55d1ab6b2f3b3dc81cf9 /Zend/zend_closures.c
parentbc630ad6da0c6d7cf2d224dba8972499d5691c6b (diff)
downloadphp-git-e10e151e9b92313a7085272c85bebf6c82017fce.tar.gz
Merged zend_array and HashTable into the single data structure.
Now each HashTable is also zend_array, so it's refcounted and may be a subject for Copy on Write zend_array_dup() was changed to allocate and return HashTable, instead of taking preallocated HashTable as argument.
Diffstat (limited to 'Zend/zend_closures.c')
-rw-r--r--Zend/zend_closures.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/Zend/zend_closures.c b/Zend/zend_closures.c
index 3478ee6816..fb37bf2705 100644
--- a/Zend/zend_closures.c
+++ b/Zend/zend_closures.c
@@ -349,8 +349,7 @@ static HashTable *zend_closure_get_debug_info(zval *object, int *is_temp) /* {{{
if (closure->debug_info->u.v.nApplyCount == 0) {
if (closure->func.type == ZEND_USER_FUNCTION && closure->func.op_array.static_variables) {
HashTable *static_variables = closure->func.op_array.static_variables;
- ZVAL_NEW_ARR(&val);
- zend_array_dup(Z_ARRVAL(val), static_variables);
+ ZVAL_ARR(&val, zend_array_dup(static_variables));
zend_hash_str_update(closure->debug_info, "static", sizeof("static")-1, &val);
}