aboutsummaryrefslogtreecommitdiff
path: root/lib/parsedate.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-03-08 16:31:56 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-03-08 16:31:56 +0000
commit8a96aec5673b9ba4787cef1319c105facbe82a40 (patch)
tree114f0b6b1a34f8b77457e0d88b0b76ace343f156 /lib/parsedate.c
parent5cd9f57137fc185786f10b16ab73743386b95bd3 (diff)
mktime() returns a time_t. time_t is often 32 bits, even on many architectures
that feature 64 bit 'long'. Some systems have 64 bit time_t and deal with years beyond 2038. However, even some of the systems with 64 bit time_t returns -1 for dates beyond 03:14:07 UTC, January 19, 2038. (Such as AIX 5100-06)
Diffstat (limited to 'lib/parsedate.c')
-rw-r--r--lib/parsedate.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/parsedate.c b/lib/parsedate.c
index 063d0c44a..de6cdb11b 100644
--- a/lib/parsedate.c
+++ b/lib/parsedate.c
@@ -369,10 +369,17 @@ static time_t Curl_parsedate(const char *date)
tm.tm_yday = 0;
tm.tm_isdst = 0;
+ /* mktime() returns a time_t. time_t is often 32 bits, even on many
+ architectures that feature 64 bit 'long'.
+
+ Some systems have 64 bit time_t and deal with years beyond 2038. However,
+ even some of the systems with 64 bit time_t returns -1 for dates beyond
+ 03:14:07 UTC, January 19, 2038. (Such as AIX 5100-06)
+ */
t = mktime(&tm);
/* time zone adjust */
- {
+ if(-1 != t) {
struct tm *gmt;
long delta;
time_t t2;