Remove the dependency of the strftime module on the tzset module.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 4 Jul 2005 04:40:46 +0000 (04:40 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 4 Jul 2005 04:40:46 +0000 (04:40 +0000)
* modules/strftime (Depends-on): Remove dependency on tzset.
* lib/strftime.c (my_strftime) [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
Copy the input structure, to work around some of the bug with
Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
Solaris releases, you should also use the tzset module, but we won't
require it as a dependency any more since we don't want LGPLed code
to depend on GPLed code.
* m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require gl_FUNC_TZSET_CLOBBER.

ChangeLog
lib/ChangeLog
lib/strftime.c
m4/ChangeLog
m4/strftime.m4
modules/strftime

index c36aae998084c42a5109fcae231cfac459e7741a..0a05e7b24c3008f5aaa6ea596c75dec7c44d692b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove the dependency of the strftime module on the tzset module.
+       * modules/strftime (Depends-on): Remove dependency on tzset.
+
 2005-06-28  Jim Meyering  <jim@meyering.net>
 
        * check-module (find_included_lib_files): Hard-code another
index ea0e6405e241e7e1571c0241f5467d98762805d1..cbcd2a3f8956272bca7e5840c9a1d63a053d3ebe 100644 (file)
@@ -1,3 +1,13 @@
+2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove the dependency of the strftime module on the tzset module.
+       * strftime.c (my_strftime) [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
+       Copy the input structure, to work around some of the bug with
+       Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
+       Solaris releases, you should also use the tzset module, but we won't
+       require it as a dependency any more since we don't want LGPLed code
+       to depend on GPLed code.
+
 2005-07-02  Jim Meyering  <jim@meyering.net>
 
        * backupfile.c (backup_args): Change a `0' to NULL.
index 37c51232b0b1cabaaf43641c30739e6cfb9403ee..fb7354efd256691cb655975c22a3a608f284c41a 100644 (file)
@@ -373,13 +373,6 @@ static CHAR_T const month_name[][10] =
 # define ns 0
 #endif
 
-#if ! defined _LIBC && ! HAVE_RUN_TZSET_TEST
-/* Solaris 2.5.x and 2.6 tzset sometimes modify the storage returned
-   by localtime.  On such systems, we must use the tzset and localtime
-   wrappers to work around the bug.  */
-"you must run the autoconf test for a working tzset function"
-#endif
-
 
 /* Write information from TP into S according to the format
    string FORMAT, writing no more that MAXSIZE characters
@@ -439,6 +432,15 @@ my_strftime (CHAR_T *s, size_t maxsize, const CHAR_T *format,
   const char *format_end = NULL;
 #endif
 
+#if ! defined _LIBC && ! HAVE_RUN_TZSET_TEST
+  /* Solaris 2.5.x and 2.6 tzset sometimes modify the storage returned
+     by localtime.  On such systems, we must either use the tzset and
+     localtime wrappers to work around the bug (which sets
+     HAVE_RUN_TZSET_TEST) or make a copy of the structure.  */
+  struct tm copy = *tp;
+  tp = &copy;
+#endif
+
   zone = NULL;
 #if HAVE_TM_ZONE
   /* The POSIX test suite assumes that setting
index 9dcd968e3eec6336c2a08db7a2682c760f8dfd8a..cea67d1765e512a735e3fd974c27b78d69d4e07d 100644 (file)
@@ -1,3 +1,8 @@
+2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove the dependency of the strftime module on the tzset module.
+       * strftime.m4 (gl_FUNC_STRFTIME): Don't require gl_FUNC_TZSET_CLOBBER.
+
 2005-07-02  Jim Meyering  <jim@meyering.net>
 
        * chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
index b47ea8ccc355e7a59848d5cdaae312bcebec0e43..64cdf2b6aec7a94dba1a0b53e0eb44e8811736ce 100644 (file)
@@ -1,4 +1,4 @@
-#serial 24
+#serial 25
 
 # Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 # Free Software Foundation, Inc.
@@ -29,7 +29,6 @@ AC_DEFUN([gl_FUNC_STRFTIME],
  AC_REQUIRE([AC_HEADER_TIME])
  AC_REQUIRE([AC_TYPE_MBSTATE_T])
  AC_REQUIRE([gl_TM_GMTOFF])
- AC_REQUIRE([gl_FUNC_TZSET_CLOBBER])
 
  AC_CHECK_FUNCS_ONCE(mblen mbrlen mempcpy tzset)
  AC_CHECK_HEADERS_ONCE(sys/time.h wchar.h)
index 7abe4206c1dff0b7bbe9bcf5f58005becbe0957b..18bc4118bc44a164e91a559bef4593414a056e01 100644 (file)
@@ -10,7 +10,6 @@ m4/strftime.m4
 
 Depends-on:
 time_r
-tzset
 stdbool
 
 configure.ac: