*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;
ZVAL_UNDEF(&retval);
zend_fcall_info_argn(&e->closure.fci, 1, &zresponse);
zend_replace_error_handling(EH_NORMAL, NULL, &zeh);
+ ++client->callback.depth;
zend_fcall_info_call(&e->closure.fci, &e->closure.fcc, &retval, NULL);
+ --client->callback.depth;
zend_restore_error_handling(&zeh);
zend_fcall_info_argn(&e->closure.fci, 0);
add_property_double(&args[1], "ulnow", progress->ul.now);
zend_replace_error_handling(EH_NORMAL, NULL, &zeh);
+ ++client->callback.depth;
php_http_object_method_call(&client_obj->notify, &zclient, NULL, 2, args);
+ --client->callback.depth;
zend_restore_error_handling(&zeh);
zval_ptr_dtor(&zclient);
zend_replace_error_handling(EH_NORMAL, NULL, &zeh);
if (SUCCESS == zend_fcall_info_argn(&client_obj->debug.fci, 4, &zclient, &zreq, &ztype, &zdata)) {
+ ++client->callback.depth;
zend_fcall_info_call(&client_obj->debug.fci, &client_obj->debug.fcc, NULL, NULL);
+ --client->callback.depth;
zend_fcall_info_args_clear(&client_obj->debug.fci, 0);
}
zend_restore_error_handling(&zeh);
}
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)
{