summaryrefslogtreecommitdiff
path: root/Zend/zend_builtin_functions.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_builtin_functions.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_builtin_functions.c')
-rw-r--r--Zend/zend_builtin_functions.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c
index 582296a8df..da90e4c98d 100644
--- a/Zend/zend_builtin_functions.c
+++ b/Zend/zend_builtin_functions.c
@@ -1140,8 +1140,7 @@ ZEND_FUNCTION(get_object_vars)
if (!zobj->ce->default_properties_count && properties == zobj->properties) {
/* fast copy */
- ZVAL_NEW_ARR(return_value);
- zend_array_dup(Z_ARRVAL_P(return_value), properties);
+ ZVAL_ARR(return_value, zend_array_dup(properties));
} else {
array_init_size(return_value, zend_hash_num_elements(properties));
@@ -1883,8 +1882,7 @@ ZEND_FUNCTION(get_defined_vars)
{
zend_array *symbol_table = zend_rebuild_symbol_table();
- ZVAL_NEW_ARR(return_value);
- zend_array_dup(Z_ARRVAL_P(return_value), &symbol_table->ht);
+ ZVAL_ARR(return_value, zend_array_dup(symbol_table));
}
/* }}} */