}
php_http_buffer_fix(&curl->options.cookies);
- if (PHP_HTTP_BUFFER_LEN(&curl->options.cookies)) {
- if (CURLE_OK != curl_easy_setopt(ch, CURLOPT_COOKIE, PHP_HTTP_BUFFER_VAL(&curl->options.cookies))) {
+ if (curl->options.cookies.used) {
+ if (CURLE_OK != curl_easy_setopt(ch, CURLOPT_COOKIE, curl->options.cookies.data)) {
return FAILURE;
}
}
php_http_buffer_init(&header);
php_http_buffer_appendf(&header, is_quoted?"%s: %s":"%s: \"%s\"", curl->options.range_request?"If-Match":"If-None-Match", Z_STRVAL_P(val));
php_http_buffer_fix(&header);
- curl->options.headers = curl_slist_append(curl->options.headers, PHP_HTTP_BUFFER_VAL(&header));
+ curl->options.headers = curl_slist_append(curl->options.headers, header.data);
php_http_buffer_dtor(&header);
return SUCCESS;
}
FOREACH_VAL(pos, val, rr) {
if (Z_TYPE_PP(rr) == IS_ARRAY) {
- if (2 == php_http_array_list(*rr TSRMLS_CC, 2, &rb, &re)) {
+ if (2 == php_http_array_list(Z_ARRVAL_PP(rr) TSRMLS_CC, 2, &rb, &re)) {
if ( ((Z_TYPE_PP(rb) == IS_LONG) || ((Z_TYPE_PP(rb) == IS_STRING) && is_numeric_string(Z_STRVAL_PP(rb), Z_STRLEN_PP(rb), NULL, NULL, 1))) &&
((Z_TYPE_PP(re) == IS_LONG) || ((Z_TYPE_PP(re) == IS_STRING) && is_numeric_string(Z_STRVAL_PP(re), Z_STRLEN_PP(re), NULL, NULL, 1)))) {
zval *rbl = php_http_ztyp(IS_LONG, *rb);
}
}
- if (PHP_HTTP_BUFFER_LEN(&curl->options.ranges)) {
+ if (curl->options.ranges.used) {
curl->options.range_request = 1;
/* ditch last comma */
- PHP_HTTP_BUFFER_VAL(&curl->options.ranges)[PHP_HTTP_BUFFER_LEN(&curl->options.ranges)-- -1] = '\0';
+ curl->options.ranges.data[curl->options.ranges.used - 1] = '\0';
}
}
- if (CURLE_OK != curl_easy_setopt(ch, CURLOPT_RANGE, PHP_HTTP_BUFFER_VAL(&curl->options.ranges))) {
+ if (CURLE_OK != curl_easy_setopt(ch, CURLOPT_RANGE, curl->options.ranges.data)) {
return FAILURE;
}
return SUCCESS;
if (val && Z_TYPE_P(val) != IS_NULL) {
zval **z_port_start, *zps_copy = NULL, **z_port_end, *zpe_copy = NULL;
- switch (php_http_array_list(val TSRMLS_CC, 2, &z_port_start, &z_port_end)) {
+ switch (php_http_array_list(Z_ARRVAL_P(val) TSRMLS_CC, 2, &z_port_start, &z_port_end)) {
case 2:
zps_copy = php_http_ztyp(IS_LONG, *z_port_start);
zpe_copy = php_http_ztyp(IS_LONG, *z_port_end);
return SUCCESS;
}
+#if PHP_HTTP_CURL_VERSION(7,21,3)
static STATUS php_http_curl_client_option_set_resolve(php_http_option_t *opt, zval *val, void *userdata)
{
php_http_client_t *h = userdata;
}
return SUCCESS;
}
+#endif
static void php_http_curl_client_options_init(php_http_options_t *registry TSRMLS_DC)
{
php_http_buffer_appendf(&header, "%s: %s", header_key.str, Z_STRVAL_P(header_cpy));
php_http_buffer_fix(&header);
- curl->options.headers = curl_slist_append(curl->options.headers, PHP_HTTP_BUFFER_VAL(&header));
+ curl->options.headers = curl_slist_append(curl->options.headers, header.data);
php_http_buffer_reset(&header);
zval_ptr_dtor(&header_cpy);
}
/* attach request body */
- if ((body_size = php_http_message_body_size(&msg->body))) {
+ if ((body_size = php_http_message_body_size(msg->body))) {
/* RFC2616, section 4.3 (para. 4) states that »a message-body MUST NOT be included in a request if the
* specification of the request method (section 5.1.1) does not allow sending an entity-body in request.«
* Following the clause in section 5.1.1 (para. 2) that request methods »MUST be implemented with the
* same semantics as those specified in section 9« reveal that not any single defined HTTP/1.1 method
* does not allow a request body.
*/
- php_stream_rewind(php_http_message_body_stream(&msg->body));
- curl_easy_setopt(curl->handle, CURLOPT_IOCTLDATA, &msg->body);
- curl_easy_setopt(curl->handle, CURLOPT_READDATA, &msg->body);
+ php_stream_rewind(php_http_message_body_stream(msg->body));
+ curl_easy_setopt(curl->handle, CURLOPT_IOCTLDATA, msg->body);
+ curl_easy_setopt(curl->handle, CURLOPT_READDATA, msg->body);
curl_easy_setopt(curl->handle, CURLOPT_INFILESIZE, body_size);
curl_easy_setopt(curl->handle, CURLOPT_POSTFIELDSIZE, body_size);
}