diff --git a/lib/ftp.c b/lib/ftp.c index 3d8f4d314c2acfc0b14944c13ff462b656a25370..3cbaf663d2141bad4ffe45569ed7dccc95a40bd0 100644 --- a/lib/ftp.c +++ b/lib/ftp.c @@ -2059,9 +2059,9 @@ CURLcode ftp_perform(struct connectdata *conn, struct tm *tm; #ifdef HAVE_LOCALTIME_R struct tm buffer; - tm = (struct tm *)localtime_r(&data->info.filetime, &buffer); + tm = (struct tm *)localtime_r((time_t *)&data->info.filetime, &buffer); #else - tm = localtime(&data->info.filetime); + tm = localtime((time_t *)&data->info.filetime); #endif /* format: "Tue, 15 Nov 1994 12:45:26 GMT" */ strftime(buf, BUFSIZE-1, "Last-Modified: %a, %d %b %Y %H:%M:%S GMT\r\n", diff --git a/lib/urldata.h b/lib/urldata.h index 3318b7f574aeecd949f2e5f5d755eb8767035e71..165b90fe101488b5905f9d7516753915f69bbb35 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -548,8 +548,10 @@ struct connectdata { struct PureInfo { int httpcode; int httpversion; - time_t filetime; /* If requested, this is might get set. Set to -1 if - the time was unretrievable */ + long filetime; /* If requested, this is might get set. Set to -1 if the time + was unretrievable. We cannot have this of type time_t, + since time_t is unsigned on several platforms such as + OpenVMS. */ long header_size; /* size of read header(s) in bytes */ long request_size; /* the amount of bytes sent in the request(s) */