X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=http_request_api.c;h=b8173bc5ef7060190b1c3aed794393ba1c837ab3;hb=693d9b2fa7b012575d4cee54b109264b269a3bda;hp=24b1acc5a8bd3e0a3cd53f237f7cbbd5f916a158;hpb=046207d5dd06a35f4c492c6169ecfbd8999671cb;p=m6w6%2Fext-http diff --git a/http_request_api.c b/http_request_api.c index 24b1acc..b8173bc 100644 --- a/http_request_api.c +++ b/http_request_api.c @@ -18,6 +18,15 @@ #ifdef HAVE_CONFIG_H # include "config.h" #endif +#include "php.h" + +#include "php_http.h" +#include "php_http_std_defs.h" +#include "php_http_api.h" +#include "php_http_request_api.h" +#include "php_http_url_api.h" + +#include "phpstr/phpstr.h" #ifdef PHP_WIN32 # include @@ -25,21 +34,12 @@ #include -#include "phpstr/phpstr.h" - -#include "php.h" -#include "php_http.h" -#include "php_http_std_defs.h" -#include "php_http_api.h" -#include "php_http_request_api.h" -#include "php_http_url_api.h" +ZEND_EXTERN_MODULE_GLOBALS(http); #ifndef HTTP_CURL_USE_ZEND_MM # define HTTP_CURL_USE_ZEND_MM 0 #endif -ZEND_EXTERN_MODULE_GLOBALS(http) - #if LIBCURL_VERSION_NUM < 0x070c00 # define curl_easy_strerror(code) HTTP_G(request).error #endif @@ -355,6 +355,7 @@ PHP_HTTP_API STATUS _http_request_init(CURL *ch, http_request_method meth, char /* progress callback */ if (zoption = http_curl_getopt(options, "onprogress", 0)) { + HTTP_CURL_OPT(NOPROGRESS, 0); HTTP_CURL_OPT(PROGRESSFUNCTION, http_curl_progress_callback); HTTP_CURL_OPT(PROGRESSDATA, http_curl_callback_data(zoption)); } else { @@ -507,7 +508,7 @@ PHP_HTTP_API STATUS _http_request_init(CURL *ch, http_request_method meth, char } else { HTTP_CURL_OPT(COOKIEFILE, NULL); } - + /* cookiestore, read initial cookies from that file and store cookies back into that file */ if ((zoption = http_curl_getopt(options, "cookiestore", IS_STRING)) && Z_STRLEN_P(zoption)) { HTTP_CURL_OPT(COOKIEFILE, http_request_data_copy(COPY_STRING, Z_STRVAL_P(zoption))); @@ -920,6 +921,10 @@ static int http_curl_progress_callback(void *data, double dltotal, double dlnow, params_pass[2] = ¶ms_local[2]; params_pass[3] = ¶ms_local[3]; + INIT_PZVAL(params_pass[0]); + INIT_PZVAL(params_pass[1]); + INIT_PZVAL(params_pass[2]); + INIT_PZVAL(params_pass[3]); ZVAL_DOUBLE(params_pass[0], dltotal); ZVAL_DOUBLE(params_pass[1], dlnow); ZVAL_DOUBLE(params_pass[2], ultotal); @@ -937,8 +942,10 @@ static int http_curl_debug_callback(CURL *ch, curl_infotype type, char *string, params_pass[0] = ¶ms_local[0]; params_pass[1] = ¶ms_local[1]; + INIT_PZVAL(params_pass[0]); + INIT_PZVAL(params_pass[1]); ZVAL_LONG(params_pass[0], type); - ZVAL_STRINGL(params_pass[1], string, length, 1); + ZVAL_STRINGL(params_pass[1], string, length, 0); call_user_function(EG(function_table), NULL, func, &retval, 2, params_pass TSRMLS_CC); @@ -961,7 +968,7 @@ static inline zval *_http_curl_getopt_ex(HashTable *options, char *key, size_t k case IS_DOUBLE: convert_to_double_ex(zoption); break; case IS_STRING: convert_to_string_ex(zoption); break; case IS_ARRAY: convert_to_array_ex(zoption); break; - case IS_OBJECT: convert_to_object_ex(zoption); break; + case IS_OBJECT: convert_to_object_ex(zoption); break; default: break; }