- unset the time condition option in curl properly if we unset the lastmodified option
[m6w6/ext-http] / http_request_api.c
index 615958c01f88d327e73e72a9e98e536c5eb3d65b..777fd7be0e3ce653a2357ed674ae9bf2d79adab5 100644 (file)
@@ -542,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 */