if (zv) {
if (Z_TYPE_P(zv) == IS_INDIRECT) {
zval *val = Z_INDIRECT_P(zv);
- if (Z_TYPE_P(val) == IS_UNDEF) {
- ZVAL_UNDEF(EX_VAR_NUM(i));
- } else {
- ZVAL_COPY_VALUE(EX_VAR_NUM(i), val);
- }
+
+ ZVAL_COPY_VALUE(EX_VAR_NUM(i), val);
} else {
ZVAL_COPY_VALUE(EX_VAR_NUM(i), zv);
}
} else {
ZVAL_UNDEF(EX_VAR_NUM(i));
- zv = zend_hash_update(ht, op_array->vars[i], EX_VAR_NUM(i));
+ zv = zend_hash_add_new(ht, op_array->vars[i], EX_VAR_NUM(i));
}
ZVAL_INDIRECT(zv, EX_VAR_NUM(i));
}
zval_add_ref(&new_prop);
}
if (key) {
- zend_hash_update(new_object->properties, key, &new_prop);
+ zend_hash_add_new(new_object->properties, key, &new_prop);
} else {
- zend_hash_index_update(new_object->properties, num_key, &new_prop);
+ zend_hash_index_add_new(new_object->properties, num_key, &new_prop);
}
} ZEND_HASH_FOREACH_END();
}