Gisle Vanem came up with a nice little work-around for bug #1230118. It

seems the Windows (MSVC) libc time functions may return data one hour off if
TZ is not set and automatic DST adjustment is enabled. This made
curl_getdate() return wrong value, and it also concerned internal cookie
expirations etc.
This commit is contained in:
Daniel Stenberg
2005-07-05 14:57:41 +00:00
parent e7de7d5eb3
commit d49c144297
3 changed files with 21 additions and 2 deletions

View File

@@ -236,9 +236,20 @@ static time_t Curl_parsedate(const char *date)
struct tm tm;
enum assume dignext = DATE_MDAY;
const char *indate = date; /* save the original pointer */
int part = 0; /* max 6 parts */
#ifdef WIN32
/*
* On Windows, we need an odd work-around for the case when no TZ variable
* is set. If it isn't set and "automatic DST adjustment" is enabled, the
* time functions below will return values one hour off! As reported and
* investigated in bug report #1230118.
*/
const char *env = getenv("TZ");
if(!env)
putenv("TZ=GMT");
#endif
while(*date && (part < 6)) {
bool found=FALSE;