]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
(my_mktime_localtime_r): Remove; all uses changed to __localtime_r.
authorJim Meyering <jim@meyering.net>
Sat, 13 Sep 2003 17:59:53 +0000 (17:59 +0000)
committerJim Meyering <jim@meyering.net>
Sat, 13 Sep 2003 17:59:53 +0000 (17:59 +0000)
(__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
(__mktime_internal) [!defined _LIBC]: Now extern, not static.

lib/mktime.c

index 00b834b055ea0941ee61112063aec0b2fee7fa3d..3dab58ad813fa1645500f938e872b28b7e9b0ad1 100644 (file)
@@ -100,22 +100,15 @@ const unsigned short int __mon_yday[2][13] =
   };
 
 
-#ifdef _LIBC
-# define my_mktime_localtime_r __localtime_r
-#else
-/* If we're a mktime substitute in a GNU program, then prefer
-   localtime to localtime_r, since many localtime_r implementations
-   are buggy.  */
-static struct tm *
-my_mktime_localtime_r (const time_t *t, struct tm *tp)
-{
-  struct tm *l = localtime (t);
-  if (! l)
-    return 0;
-  *tp = *l;
-  return tp;
-}
-#endif /* ! _LIBC */
+#ifndef _LIBC
+/* Portable standalone applications should supply a "time_r.h" that
+   declares a POSIX-compliant localtime_r, for the benefit of older
+   implementations that lack localtime_r or have a nonstandard one.
+   See the gnulib time_r module for one way to implement this.  */
+# include "time_r.h"
+# undef __localtime_r
+# define __localtime_r localtime_r
+#endif
 
 /* Return an integer value measuring (YEAR1-YDAY1 HOUR1:MIN1:SEC1) -
    (YEAR0-YDAY0 HOUR0:MIN0:SEC0) in seconds, assuming that the clocks
@@ -238,9 +231,6 @@ ranged_convert (struct tm *(*convert) (const time_t *, struct tm *),
    Use *OFFSET to keep track of a guess at the offset of the result,
    compared to what the result would be for UTC without leap seconds.
    If *OFFSET's guess is correct, only one CONVERT call is needed.  */
-#ifndef _LIBC
-static
-#endif
 time_t
 __mktime_internal (struct tm *tp,
                   struct tm *(*convert) (const time_t *, struct tm *),
@@ -480,7 +470,7 @@ mktime (struct tm *tp)
   __tzset ();
 #endif
 
-  return __mktime_internal (tp, my_mktime_localtime_r, &localtime_offset);
+  return __mktime_internal (tp, __localtime_r, &localtime_offset);
 }
 
 #ifdef weak_alias