diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/parsedate.c | 13 | 
1 files changed, 12 insertions, 1 deletions
| diff --git a/lib/parsedate.c b/lib/parsedate.c index 52529848d..ae9e232a9 100644 --- a/lib/parsedate.c +++ b/lib/parsedate.c @@ -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; | 
