Commit b89122a2 authored by Dave Reisner's avatar Dave Reisner Committed by Kamil Dudka
Browse files

file: add support for CURLOPT_TIMECONDITION

parent 99dcb11e
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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.

+2 −2
Original line number Diff line number Diff line
@@ -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
+7 −0
Original line number Diff line number Diff line
@@ -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. */