zval **header_val;
if (SUCCESS == zend_hash_get_current_data_ex(Z_ARRVAL_P(zoption), (void **) &header_val, &pos)) {
char header[1024] = {0};
- zval *cpy, *val = convert_to_type_ex(IS_STRING, *header_val, &cpy);
+ zval val;
- snprintf(header, 1023, "%s: %s", header_key, Z_STRVAL_P(val));
- request->_cache.headers = curl_slist_append(request->_cache.headers, header);
+ val = **header_val;
+ zval_copy_ctor(&val);
+ INIT_PZVAL(&val);
+ convert_to_string(&val);
- if (cpy) {
- zval_ptr_dtor(&cpy);
- }
+ snprintf(header, 1023, "%s: %s", header_key, Z_STRVAL(val));
+ request->_cache.headers = curl_slist_append(request->_cache.headers, header);
+ zval_dtor(&val);
}
/* reset */
if (cookie_key) {
zval **cookie_val;
if (SUCCESS == zend_hash_get_current_data_ex(Z_ARRVAL_P(zoption), (void **) &cookie_val, &pos)) {
- zval *cpy, *val = convert_to_type_ex(IS_STRING, *cookie_val, &cpy);
+ zval val;
- phpstr_appendf(&request->_cache.cookies, "%s=%s; ", cookie_key, Z_STRVAL_P(val));
+ val = **cookie_val;
+ INIT_PZVAL(&val);
+ zval_copy_ctor(&val);
+ convert_to_string(&val);
- if (cpy) {
- zval_ptr_dtor(&cpy);
- }
+ phpstr_appendf(&request->_cache.cookies, "%s=%s; ", cookie_key, Z_STRVAL(val));
+
+ zval_dtor(&val);
}
/* reset */
}
}
+#if LIBCURL_VERSIONNUM >= 0x070f01
/* reset cookies */
if ((zoption = http_request_option(request, options, "resetcookies", IS_BOOL)) && Z_LVAL_P(zoption)) {
HTTP_CURL_OPT(COOKIELIST, "ALL");
}
-
+#endif
+
/* session cookies */
if ((zoption = http_request_option(request, options, "cookiesession", IS_BOOL))) {
if (Z_LVAL_P(zoption)) {