Use zend_new_pair

This commit is contained in:
Niels Dossche 2024-12-29 15:52:23 +01:00
parent e21de85b9f
commit 1a61d29d5d

View file

@ -956,17 +956,13 @@ static void sxe_properties_add(HashTable *rv, char *name, int namelen, zval *val
{ {
zend_string *key; zend_string *key;
zval *data_ptr; zval *data_ptr;
zval newptr;
key = zend_string_init(name, namelen, 0); key = zend_string_init(name, namelen, 0);
if ((data_ptr = zend_hash_find(rv, key)) != NULL) { if ((data_ptr = zend_hash_find(rv, key)) != NULL) {
if (Z_TYPE_P(data_ptr) == IS_ARRAY) { if (Z_TYPE_P(data_ptr) == IS_ARRAY) {
zend_hash_next_index_insert_new(Z_ARRVAL_P(data_ptr), value); zend_hash_next_index_insert_new(Z_ARRVAL_P(data_ptr), value);
} else { } else {
array_init(&newptr); ZVAL_ARR(data_ptr, zend_new_pair(data_ptr, value));
zend_hash_next_index_insert_new(Z_ARRVAL(newptr), data_ptr);
zend_hash_next_index_insert_new(Z_ARRVAL(newptr), value);
ZVAL_ARR(data_ptr, Z_ARR(newptr));
} }
} else { } else {
zend_hash_add_new(rv, key, value); zend_hash_add_new(rv, key, value);