# HG changeset patch # User Paul Eggert # Date 1120452046 0 # Node ID 2a0d593683dc1092835a6239c531d4443ae0738a # Parent 3037179ff0de428188494232a08d070604087390 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. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-07-03 Paul Eggert + + Remove the dependency of the strftime module on the tzset module. + * modules/strftime (Depends-on): Remove dependency on tzset. + 2005-06-28 Jim Meyering * check-module (find_included_lib_files): Hard-code another diff --git a/lib/ChangeLog b/lib/ChangeLog --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,13 @@ +2005-07-03 Paul Eggert + + 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 * backupfile.c (backup_args): Change a `0' to NULL. diff --git a/lib/strftime.c b/lib/strftime.c --- 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 = © +#endif + zone = NULL; #if HAVE_TM_ZONE /* The POSIX test suite assumes that setting diff --git a/m4/ChangeLog b/m4/ChangeLog --- a/m4/ChangeLog +++ b/m4/ChangeLog @@ -1,3 +1,8 @@ +2005-07-03 Paul Eggert + + 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 * chown.m4, cloexec.m4, dup2.m4, fsusage.m4: diff --git a/m4/strftime.m4 b/m4/strftime.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) diff --git a/modules/strftime b/modules/strftime --- a/modules/strftime +++ b/modules/strftime @@ -10,7 +10,6 @@ Depends-on: time_r -tzset stdbool configure.ac: