diff options
author | Daniel Stenberg <daniel@haxx.se> | 2002-02-01 11:11:26 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2002-02-01 11:11:26 +0000 |
commit | 0d5bfe883e95038be1efff4b72b45122dc1fec9d (patch) | |
tree | 004e222a5e34bfeb8f620c267e0d8c7b3e9e4098 | |
parent | cc2f1d4894c682861a6eab09afd1fbd3a045dfa8 (diff) |
Andreas Damm made getdate use gmtime_r if available
-rw-r--r-- | lib/getdate.c | 9 | ||||
-rw-r--r-- | lib/getdate.y | 11 |
2 files changed, 17 insertions, 3 deletions
diff --git a/lib/getdate.c b/lib/getdate.c index 68653d3fb..f6941e708 100644 --- a/lib/getdate.c +++ b/lib/getdate.c @@ -2102,7 +2102,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); 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); |