Skip to content
Snippets Groups Projects
Commit b5739b3a authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

document time fixes

parent 86d4488c
No related branches found
No related tags found
No related merge requests found
......@@ -659,9 +659,9 @@ CURLcode _ftp(struct connectdata *conn)
}
}
if(data->bits.get_filetime) {
if(data->bits.get_filetime && ftp->file) {
/* we have requested to get the modified-time of the file, this is yet
again a grey area the MDTM is not kosher RFC959 */
again a grey area as the MDTM is not kosher RFC959 */
ftpsendf(data->firstsocket, conn, "MDTM %s", ftp->file);
nread = GetLastResponse(data->firstsocket, buf, conn, &ftpcode);
......@@ -725,10 +725,29 @@ CURLcode _ftp(struct connectdata *conn)
/* get the size from the ascii string: */
filesize = atoi(buf+4);
sprintf(buf, "Content-Length: %d\n", filesize);
sprintf(buf, "Content-Length: %d\r\n", filesize);
result = client_write(data, CLIENTWRITE_BOTH, buf, 0);
if(result)
return result;
#ifdef HAVE_STRFTIME
if(data->bits.get_filetime && data->progress.filetime) {
struct tm *tm;
#ifdef HAVE_LOCALTIME_R
struct tm buffer;
tm = (struct tm *)localtime_r(&data->progress.filetime, &buffer);
#else
tm = localtime(&data->progress.filetime);
#endif
/* format: "Tue, 15 Nov 1994 12:45:26 GMT" */
strftime(buf, BUFSIZE-1, "Last-Modified: %a, %d %b %Y %H:%M:%S %Z\r\n",
tm);
result = client_write(data, CLIENTWRITE_BOTH, buf, 0);
if(result)
return result;
}
#endif
return CURLE_OK;
}
......
......@@ -84,6 +84,9 @@ CURLcode curl_getinfo(CURL *curl, CURLINFO info, ...)
case CURLINFO_HTTP_CODE:
*param_longp = data->progress.httpcode;
break;
case CURLINFO_FILETIME:
*param_longp = data->progress.filetime;
break;
case CURLINFO_HEADER_SIZE:
*param_longp = data->header_size;
break;
......
......@@ -395,7 +395,7 @@ _Transfer(struct connectdata *c_conn)
}
else if(strnequal("Last-Modified:", p,
strlen("Last-Modified:")) &&
data->timecondition) {
(data->timecondition || data->bits.get_filetime) ) {
time_t secs=time(NULL);
timeofdoc = curl_getdate(p+strlen("Last-Modified:"), &secs);
if(data->bits.get_filetime)
......
......@@ -365,6 +365,9 @@ CURLcode curl_setopt(CURL *curl, CURLoption option, ...)
case CURLOPT_POST:
data->bits.http_post = va_arg(param, long)?TRUE:FALSE;
break;
case CURLOPT_FILETIME:
data->bits.get_filetime = va_arg(param, long)?TRUE:FALSE;
break;
case CURLOPT_FTPLISTONLY:
data->bits.ftp_list_only = va_arg(param, long)?TRUE:FALSE;
break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment