diff options
Diffstat (limited to 'lib/getdate.y')
-rw-r--r-- | lib/getdate.y | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/getdate.y b/lib/getdate.y index cf5f920db..e63eb6e0b 100644 --- a/lib/getdate.y +++ b/lib/getdate.y @@ -211,7 +211,7 @@ typedef struct _CONTEXT { %expect 13 /* turn global variables into locals, additionally enable extra arguments -** for yylex (pointer to yylval and use defined value) +** for yylex (pointer to yylval and user defined value) */ %pure_parser @@ -1058,7 +1058,14 @@ curl_getdate (const char *p, const time_t *now) if (cookie.yyHaveZone) { long delta; - struct tm *gmt = gmtime (&Start); + struct tm *gmt; +#ifdef HAVE_GMTIME_R + /* thread-safe version */ + struct tm keeptime; + gmt = (struct tm *)gmtime_r(&Start, &keeptime); +#else + gmt = gmtime(&Start); +#endif if (!gmt) return -1; delta = cookie.yyTimezone * 60L + difftm (&tm, gmt); |