X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_client_curl.c;h=b91fe4837467b829bd15d38c7e463ffb7b2ac9f0;hp=9b44aa00d1129b506d86787393e36735fa4f7749;hb=7493ad081ec06081cb8ca0f804d98a263f93ffbc;hpb=468e8d748d365811af4ce890fd8fc4c1f88cc08a diff --git a/php_http_client_curl.c b/php_http_client_curl.c index 9b44aa0..b91fe48 100644 --- a/php_http_client_curl.c +++ b/php_http_client_curl.c @@ -2136,16 +2136,13 @@ static php_resource_factory_t *create_rf(php_http_client_t *h, php_http_client_e } /* only if the client itself is setup for persistence */ - if (h->rf->dtor == (void (*)(void*)) php_persistent_handle_abandon) { + if (php_resource_factory_is_persistent(h->rf)) { zend_string *id; char *id_str = NULL; size_t id_len; int port = url->port ? url->port : 80; zval *zport; - id_len = spprintf(&id_str, 0, "%s:%d", STR_PTR(url->host), url->port ? url->port : 80); - id = php_http_cs2zs(id_str, id_len); - if ((zport = zend_hash_str_find(enqueue->options, ZEND_STRL("port")))) { zend_long lport = zval_get_long(zport); @@ -2155,12 +2152,13 @@ static php_resource_factory_t *create_rf(php_http_client_t *h, php_http_client_e } id_len = spprintf(&id_str, 0, "%s:%d", STR_PTR(url->host), port); + id = php_http_cs2zs(id_str, id_len); pf = php_persistent_handle_concede(NULL, PHP_HTTP_G->client.curl.driver.request_name, id, NULL, NULL); zend_string_release(id); } if (pf) { - rf = php_resource_factory_init(NULL, php_persistent_handle_get_resource_factory_ops(), pf, (void (*)(void*)) php_persistent_handle_abandon); + rf = php_persistent_handle_resource_factory_init(NULL, pf); } else { rf = php_resource_factory_init(NULL, &php_http_curle_resource_factory_ops, NULL, NULL); }