changeset 5960:2a0d593683dc

Remove the dependency of the strftime module on the tzset module. * 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.
author Paul Eggert <eggert@cs.ucla.edu>
date Mon, 04 Jul 2005 04:40:46 +0000
parents 3037179ff0de
children 3732127bf7c8
files ChangeLog lib/ChangeLog lib/strftime.c m4/ChangeLog m4/strftime.m4 modules/strftime
diffstat 6 files changed, 30 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- 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
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -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.
--- a/lib/strftime.c
+++ b/lib/strftime.c
@@ -373,13 +373,6 @@
 # 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 @@
   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
--- a/m4/ChangeLog
+++ b/m4/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.
+	* 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:
--- a/m4/strftime.m4
+++ b/m4/strftime.m4
@@ -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_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)
--- a/modules/strftime
+++ b/modules/strftime
@@ -10,7 +10,6 @@
 
 Depends-on:
 time_r
-tzset
 stdbool
 
 configure.ac: