Andreas Damm made getdate use gmtime_r if available
authorDaniel Stenberg <daniel@haxx.se>
Fri, 1 Feb 2002 11:11:26 +0000 (11:11 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 1 Feb 2002 11:11:26 +0000 (11:11 +0000)
lib/getdate.c
lib/getdate.y

index 68653d3fb11e3f0170743d5fdb08cb783544163e..f6941e708540d5881962d24066a0893ee54b4b90 100644 (file)
@@ -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);
index cf5f920db35c0904121a1bf82e984f6623966f24..e63eb6e0b18ed716486a4f2b55d3c97a7dfa853e 100644 (file)
@@ -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);