X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=php_http_client_factory.c;h=aba4b6444b9848d0049f7e90b18dc7703b8b9511;hb=be8c213f7ebe79dfe33e58feb4c3d1cbca519f23;hp=45986c417d3f7ca81b604cc26ab1c75087620fcb;hpb=a18e662d5ff2c4e7051e028f8002dbba720cccd6;p=m6w6%2Fext-http diff --git a/php_http_client_factory.c b/php_http_client_factory.c index 45986c4..aba4b64 100644 --- a/php_http_client_factory.c +++ b/php_http_client_factory.c @@ -55,7 +55,7 @@ static zend_class_entry *php_http_client_factory_get_class_entry(zval *this_ptr, #define PHP_HTTP_REQUEST_FACTORY_ALIAS(method, func) PHP_HTTP_STATIC_ME_ALIAS(method, func, PHP_HTTP_ARGS(HttpClientFactory, method)) #define PHP_HTTP_REQUEST_FACTORY_MALIAS(me, al, vis) ZEND_FENTRY(me, ZEND_MN(HttpClientFactory_##al), PHP_HTTP_ARGS(HttpClientFactory, al), vis) -PHP_HTTP_BEGIN_ARGS(__construct, 1) +PHP_HTTP_BEGIN_ARGS(__construct, 0) PHP_HTTP_ARG_VAL(options, 0) PHP_HTTP_END_ARGS; PHP_HTTP_BEGIN_ARGS(createClient, 0) @@ -116,7 +116,7 @@ PHP_METHOD(HttpClientFactory, createClient) with_error_handling(EH_THROW, php_http_exception_class_entry) { if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|a!", &options)) { with_error_handling(EH_THROW, php_http_exception_class_entry) { - zval *zdriver, *os; + zval *zdriver; zend_object_value ov; zend_class_entry *class_entry = NULL; php_http_client_t *req = NULL; @@ -150,8 +150,7 @@ PHP_METHOD(HttpClientFactory, createClient) if (SUCCESS == php_http_new(&ov, class_entry, driver.client_ops->create_object, driver.client_ops->class_entry(), req, NULL TSRMLS_CC)) { ZVAL_OBJVAL(return_value, ov, 0); - - zend_call_method_with_1_params(&return_value, Z_OBJCE_P(return_value), NULL, "__construct", NULL, options); + zend_call_method(&return_value, Z_OBJCE_P(return_value), NULL, ZEND_STRL("__construct"), NULL, !!options, options, NULL TSRMLS_CC); } else { php_http_client_free(&req); } @@ -209,7 +208,7 @@ PHP_METHOD(HttpClientFactory, createPool) if (SUCCESS == php_http_new(&ov, class_entry, driver.client_pool_ops->create_object, driver.client_pool_ops->class_entry(), pool, NULL TSRMLS_CC)) { ZVAL_OBJVAL(return_value, ov, 0); for (i = 0; i < argc; ++i) { - if (Z_TYPE_PP(argv[i]) == IS_OBJECT && instanceof_function(Z_OBJCE_PP(argv[i]), php_http_client_class_entry TSRMLS_CC)) { + if (Z_TYPE_PP(argv[i]) == IS_OBJECT && instanceof_function(Z_OBJCE_PP(argv[i]), php_http_client_get_class_entry() TSRMLS_CC)) { php_http_client_pool_attach(pool, *(argv[i])); } } @@ -270,7 +269,7 @@ PHP_METHOD(HttpClientFactory, createDataShare) if (SUCCESS == php_http_new(&ov, class_entry, driver.client_datashare_ops->create_object, driver.client_datashare_ops->class_entry(), share, NULL TSRMLS_CC)) { ZVAL_OBJVAL(return_value, ov, 0); for (i = 0; i < argc; ++i) { - if (Z_TYPE_PP(argv[i]) == IS_OBJECT && instanceof_function(Z_OBJCE_PP(argv[i]), php_http_client_class_entry TSRMLS_CC)) { + if (Z_TYPE_PP(argv[i]) == IS_OBJECT && instanceof_function(Z_OBJCE_PP(argv[i]), php_http_client_get_class_entry() TSRMLS_CC)) { php_http_client_datashare_attach(share, *(argv[i])); } }