From cd73a733c78b7ab7b4e3ccaca9350bbcce124142 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 11 Nov 2004 09:26:09 +0000 Subject: dates from 2038 or later now return 0x7fffffff when 32 bit time_t is used --- lib/parsedate.c | 6 ++++++ lib/setup.h | 5 +++++ 2 files changed, 11 insertions(+) (limited to 'lib') diff --git a/lib/parsedate.c b/lib/parsedate.c index 836340c07..e9e860fe6 100644 --- a/lib/parsedate.c +++ b/lib/parsedate.c @@ -350,6 +350,12 @@ static time_t Curl_parsedate(const char *date) /* lacks vital info, fail */ return -1; +#if SIZEOF_TIME_T < 5 + /* 32 bit time_t can only hold dates to the beginning of 2038 */ + if(yearnum > 2037) + return 0x7fffffff; +#endif + tm.tm_sec = secnum; tm.tm_min = minnum; tm.tm_hour = hournum; diff --git a/lib/setup.h b/lib/setup.h index e535279c8..2969b936a 100644 --- a/lib/setup.h +++ b/lib/setup.h @@ -287,6 +287,11 @@ typedef int curl_socket_t; #define USE_LIBIDN #endif +#ifndef SIZEOF_TIME_T +/* assume default size of time_t to be 32 bit */ +#define SIZEOF_TIME_T 4 +#endif + #define LIBIDN_REQUIRED_VERSION "0.4.1" #endif /* __CONFIG_H */ -- cgit v1.2.3