curl-library
[PATCH 2/2] file: add support for CURLOPT_TIMECONDITION
From: Dave Reisner <d_at_falconindy.com>
Date: Sat, 29 Jan 2011 22:41:07 -0500
Date: Sat, 29 Jan 2011 22:41:07 -0500
Signed-off-by: Kamil Dudka <kdudka_at_redhat.com>
--- docs/curl.1 | 6 +++--- docs/libcurl/curl_easy_setopt.3 | 4 ++-- lib/file.c | 7 +++++++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/docs/curl.1 b/docs/curl.1 index ba7f610..093fae5 100644 --- a/docs/curl.1 +++ b/docs/curl.1 @@ -1552,9 +1552,9 @@ not set. If this option is used several times, the last one will be used. .IP "-z/--time-cond <date expression>" -(HTTP/FTP) Request a file that has been modified later than the given time and -date, or one that has been modified before that time. The date expression can -be all sorts of date strings or if it doesn't match any internal ones, it +(HTTP/FTP/FILE) Request a file that has been modified later than the given time +and date, or one that has been modified before that time. The date expression +can be all sorts of date strings or if it doesn't match any internal ones, it tries to get the time from a given file name instead! See the \fIcurl_getdate(3)\fP man pages for date expression details. diff --git a/docs/libcurl/curl_easy_setopt.3 b/docs/libcurl/curl_easy_setopt.3 index 95772d2..8c772c6 100644 --- a/docs/libcurl/curl_easy_setopt.3 +++ b/docs/libcurl/curl_easy_setopt.3 @@ -1648,8 +1648,8 @@ given limit. This concerns both FTP and HTTP transfers. .IP CURLOPT_TIMECONDITION Pass a long as parameter. This defines how the \fICURLOPT_TIMEVALUE\fP time value is treated. You can set this parameter to \fICURL_TIMECOND_IFMODSINCE\fP -or \fICURL_TIMECOND_IFUNMODSINCE\fP. This feature applies to HTTP, FTP, and -RTSP. +or \fICURL_TIMECOND_IFUNMODSINCE\fP. This feature applies to HTTP, FTP, RTSP, +and FILE. The last modification time of a file is not always known and in such instances this feature will have no effect even if the given time condition would not diff --git a/lib/file.c b/lib/file.c index 8e4ee07..aaeed70 100644 --- a/lib/file.c +++ b/lib/file.c @@ -463,6 +463,13 @@ static CURLcode file_do(struct connectdata *conn, bool *done) fstated = TRUE; } + if(fstated && !data->state.range && data->set.timecondition) { + if(!Curl_meets_timecondition(data, data->info.filetime)) { + *done = TRUE; + return CURLE_OK; + } + } + /* If we have selected NOBODY and HEADER, it means that we only want file information. Which for FILE can't be much more than the file size and date. */ -- 1.7.3.5 --------------070204090408000103000505 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html --------------070204090408000103000505--Received on 2001-09-17