array_init(&new_opts);
old_opts = zend_read_property(this_ce, instance, ZEND_STRL("options"), 0, &old_opts_tmp);
+
if (Z_TYPE_P(old_opts) == IS_ARRAY) {
array_copy(Z_ARRVAL_P(old_opts), Z_ARRVAL(new_opts));
}
}
} else if (opts && zend_hash_num_elements(Z_ARRVAL_P(opts))) {
if ((entry = zend_symtable_str_find(Z_ARRVAL(new_opts), key, len))) {
+ SEPARATE_ZVAL(entry);
array_join(Z_ARRVAL_P(opts), Z_ARRVAL_P(entry), 0, 0);
} else {
Z_ADDREF_P(opts);
*n = 0;
*table = obj->gc = erealloc(obj->gc, sizeof(zval) * count);
-#if PHP_HTTP_HAVE_CURL
+#if PHP_HTTP_HAVE_LIBCURL
if (obj->client->ops == php_http_client_curl_get_ops()) {
php_http_client_curl_t *curl = obj->client->ctx;
}
ZEND_BEGIN_ARG_INFO_EX(ai_HttpClient_setDebug, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, callback, IS_CALLABLE, 1)
+ /* using IS_CALLABLE type hint would create a forwards compatibility break */
+ ZEND_ARG_INFO(0, callback)
ZEND_END_ARG_INFO();
static PHP_METHOD(HttpClient, setDebug)
{