diff options
author | Sara Golemon <pollita@php.net> | 2020-08-07 14:31:52 +0000 |
---|---|---|
committer | Sara Golemon <pollita@php.net> | 2020-12-01 18:36:21 +0000 |
commit | 1071d857645e89578925fab0d1998fbb3b0d7534 (patch) | |
tree | f33ed81184c5fb942d9486da367b95e4a5ba8fd1 /Zend/zend_weakrefs.c | |
parent | 0811ccb44d689f5692056260ed28c500e3eb6591 (diff) | |
download | php-git-1071d857645e89578925fab0d1998fbb3b0d7534.tar.gz |
Flesh out HashTable insertion APIs
Fills out the array/object-property insert helpers for zend_array, zend_object, and zend_reference.
This adds the following matrix of 18 APIs
add_next_index_T()
add_index_T()
add_assoc_T()
add_assoc_T_ex()
add_property_T()
add_property_T_ex()
Where T in array, object, reference
Converted internal callsites currently doing an explicit object wrap.
Diffstat (limited to 'Zend/zend_weakrefs.c')
-rw-r--r-- | Zend/zend_weakrefs.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Zend/zend_weakrefs.c b/Zend/zend_weakrefs.c index 04c5043210..85b56518ab 100644 --- a/Zend/zend_weakrefs.c +++ b/Zend/zend_weakrefs.c @@ -402,12 +402,12 @@ static HashTable *zend_weakmap_get_properties_for(zend_object *object, zend_prop zend_ulong obj_addr; zval *val; ZEND_HASH_FOREACH_NUM_KEY_VAL(&wm->ht, obj_addr, val) { + zend_object *obj = (zend_object*)obj_addr; zval pair; - zval obj_zv; array_init(&pair); - ZVAL_OBJ_COPY(&obj_zv, (zend_object *) obj_addr); - add_assoc_zval(&pair, "key", &obj_zv); + GC_ADDREF(obj); + add_assoc_object(&pair, "key", obj); Z_TRY_ADDREF_P(val); add_assoc_zval(&pair, "value", val); |