diff options
author | Daniel Stenberg <daniel@haxx.se> | 2018-01-25 23:05:24 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2018-01-30 08:29:59 +0100 |
commit | 8f69a9f28abf98a10a50b3bae5ba319660de82ee (patch) | |
tree | 2b0eea6d076cd97763f0ce5dde7feed742cfe142 /lib/getinfo.c | |
parent | 9caa3e248da91dc8964328b5b50491ba05df7bd4 (diff) | |
download | curl-8f69a9f28abf98a10a50b3bae5ba319660de82ee.tar.gz |
time: support > year 2038 time stamps for system with 32bit long
... with the introduction of CURLOPT_TIMEVALUE_LARGE and
CURLINFO_FILETIME_T.
Fixes #2238
Closes #2264
Diffstat (limited to 'lib/getinfo.c')
-rw-r--r-- | lib/getinfo.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/getinfo.c b/lib/getinfo.c index 862ced019..d280eebfa 100644 --- a/lib/getinfo.c +++ b/lib/getinfo.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -156,7 +156,12 @@ static CURLcode getinfo_long(struct Curl_easy *data, CURLINFO info, *param_longp = data->info.httpproxycode; break; case CURLINFO_FILETIME: - *param_longp = data->info.filetime; + if(data->info.filetime > LONG_MAX) + *param_longp = LONG_MAX; + else if(data->info.filetime < LONG_MIN) + *param_longp = LONG_MIN; + else + *param_longp = (long)data->info.filetime; break; case CURLINFO_HEADER_SIZE: *param_longp = data->info.header_size; @@ -253,6 +258,9 @@ static CURLcode getinfo_offt(struct Curl_easy *data, CURLINFO info, curl_off_t *param_offt) { switch(info) { + case CURLINFO_FILETIME_T: + *param_offt = (curl_off_t)data->info.filetime; + break; case CURLINFO_SIZE_UPLOAD_T: *param_offt = data->progress.uploaded; break; |