X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_request_api.c;h=777fd7be0e3ce653a2357ed674ae9bf2d79adab5;hp=c7bdcb316705b1c24e7273ae09682f6c28a5358f;hb=47d531af5faac1df8dedeb383867850ab430f0a1;hpb=eae9ca6014f5d2a20dab69407e80667bcb913ced diff --git a/http_request_api.c b/http_request_api.c index c7bdcb3..777fd7b 100644 --- a/http_request_api.c +++ b/http_request_api.c @@ -56,7 +56,7 @@ static inline zend_bool http_ssl_init(void); static inline void http_ssl_cleanup(void); #endif -STATUS _http_request_global_init(INIT_FUNC_ARGS) +PHP_MINIT_FUNCTION(http_request) { if (CURLE_OK != curl_global_init(CURL_GLOBAL_ALL)) { return FAILURE; @@ -76,12 +76,13 @@ STATUS _http_request_global_init(INIT_FUNC_ARGS) return SUCCESS; } -void _http_request_global_cleanup(TSRMLS_D) +PHP_MSHUTDOWN_FUNCTION(http_request) { curl_global_cleanup(); #ifdef HTTP_NEED_SSL http_ssl_cleanup(); #endif + return SUCCESS; } #ifndef HAVE_CURL_EASY_STRERROR @@ -541,8 +542,13 @@ PHP_HTTP_API STATUS _http_request_init(CURL *ch, http_request_method meth, char /* lastmodified */ if (zoption = http_curl_getopt(options, "lastmodified", IS_LONG)) { - HTTP_CURL_OPT(TIMECONDITION, range_req ? CURL_TIMECOND_IFUNMODSINCE : CURL_TIMECOND_IFMODSINCE); - HTTP_CURL_OPT(TIMEVALUE, Z_LVAL_P(zoption)); + if (Z_LVAL_P(zoption) > 0) { + HTTP_CURL_OPT(TIMECONDITION, range_req ? CURL_TIMECOND_IFUNMODSINCE : CURL_TIMECOND_IFMODSINCE); + HTTP_CURL_OPT(TIMEVALUE, Z_LVAL_P(zoption)); + } else { + HTTP_CURL_OPT(TIMECONDITION, CURL_TIMECOND_NONE); + HTTP_CURL_OPT(TIMEVALUE, 0); + } } /* timeout, defaults to 0 */