- if (!zcookies_set || Z_TYPE_P(zcookies_set) != IS_ARRAY) {
- if (zcookies_set) {
- zval_ptr_dtor(zcookies_set);
- }
- array_init_size(zcookies_set, zend_hash_num_elements(&obj->list->cookies));
- } else {
- Z_ADDREF_P(zcookies_set);
- SEPARATE_ZVAL(zcookies_set);
+ if (zcookies_set && Z_TYPE_P(zcookies_set) == IS_ARRAY) {
+ array_copy(Z_ARRVAL_P(zcookies_set), Z_ARRVAL(tmp));
+ zval_ptr_dtor(zcookies_set);