X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=php_http_curl_client.c;h=7f4d005377065e3a7e922135732d27305c1ce0ad;hb=c0d96fe2c0d156412bcb22bf5b9f5e9ed0046c9c;hp=a2e0d3fc4ceb07eb9524b0a49182e53ddf1a8032;hpb=efdbb46bf78df0d34936c536bd78b05abadd3a0d;p=m6w6%2Fext-http diff --git a/php_http_curl_client.c b/php_http_curl_client.c index a2e0d3f..7f4d005 100644 --- a/php_http_curl_client.c +++ b/php_http_curl_client.c @@ -510,11 +510,13 @@ static STATUS set_options(php_http_client_t *h, HashTable *options) zval **cookie_val; FOREACH_KEYVAL(pos, zoption, cookie_key, cookie_val) { - if (cookie_key.type == HASH_KEY_IS_STRING) { - zval *val = php_http_ztyp(IS_STRING, *cookie_val); - php_http_buffer_appendf(&curl->options.cookies, "%s=%s; ", cookie_key.str, Z_STRVAL_P(val)); - zval_ptr_dtor(&val); - } + zval *val = php_http_ztyp(IS_STRING, *cookie_val); + + php_http_array_hashkey_stringify(&cookie_key); + php_http_buffer_appendf(&curl->options.cookies, "%s=%s; ", cookie_key.str, Z_STRVAL_P(val)); + php_http_array_hashkey_stringfree(&cookie_key); + + zval_ptr_dtor(&val); } php_http_buffer_fix(&curl->options.cookies); @@ -1024,7 +1026,7 @@ static STATUS php_http_curl_client_reset(php_http_client_t *h) return SUCCESS; } -STATUS php_http_curl_client_prepare(php_http_client_t *h, php_http_message_t *msg) +PHP_HTTP_API STATUS php_http_curl_client_prepare(php_http_client_t *h, php_http_message_t *msg) { size_t body_size; php_http_curl_client_t *curl = h->ctx; @@ -1245,11 +1247,6 @@ static php_http_resource_factory_ops_t php_http_curl_client_resource_factory_ops php_http_curl_dtor }; -static zend_class_entry *get_class_entry(void) -{ - return php_http_curl_client_class_entry; -} - static php_http_client_ops_t php_http_curl_client_ops = { &php_http_curl_client_resource_factory_ops, php_http_curl_client_init, @@ -1260,7 +1257,7 @@ static php_http_client_ops_t php_http_curl_client_ops = { php_http_curl_client_setopt, php_http_curl_client_getopt, (php_http_new_t) php_http_curl_client_object_new_ex, - get_class_entry + php_http_curl_client_get_class_entry }; PHP_HTTP_API php_http_client_ops_t *php_http_curl_client_get_ops(void) @@ -1278,8 +1275,14 @@ PHP_HTTP_BEGIN_ARGS(send, 1) PHP_HTTP_ARG_VAL(request, 0) PHP_HTTP_END_ARGS; -zend_class_entry *php_http_curl_client_class_entry; -zend_function_entry php_http_curl_client_method_entry[] = { +static zend_class_entry *php_http_curl_client_class_entry; + +zend_class_entry *php_http_curl_client_get_class_entry(void) +{ + return php_http_curl_client_class_entry; +} + +static zend_function_entry php_http_curl_client_method_entry[] = { PHP_HTTP_CURL_CLIENT_CLIENT_MALIAS(send, ZEND_ACC_PUBLIC) EMPTY_FUNCTION_ENTRY };