zval *data_ptr;
HashTable *ht = HASH_OF(value);
- ZEND_HASH_FOREACH_VAL(ht, data_ptr)
+ ZEND_HASH_FOREACH_VAL_IND(ht, data_ptr)
{
if (SUCCESS != php_http_env_set_response_header_value(http_code, name_str, name_len, data_ptr, first)) {
return FAILURE;
if (json) {
if (json->len) {
- zval zjson;
+ zval tmp;
- ZVAL_NULL(&zjson);
- php_json_decode(&zjson, json->val, json->len, 1, PG(max_input_nesting_level));
- if (Z_TYPE(zjson) != IS_NULL) {
- zval_dtor(zarg);
- ZVAL_COPY_VALUE(zarg, (&zjson));
+ ZVAL_NULL(&tmp);
+ php_json_decode(&tmp, json->val, json->len, 1, PG(max_input_nesting_level));
+
+ if (Z_TYPE(tmp) == IS_ARRAY) {
+ array_copy(Z_ARRVAL(tmp), Z_ARRVAL_P(zarg));
}
+ zval_ptr_dtor(&tmp);
}
zend_string_release(json);
}