From: Paul Eggert Date: Mon, 4 Jul 2005 04:40:46 +0000 (+0000) Subject: Remove the dependency of the strftime module on the tzset module. X-Git-Tag: cvs-readonly~3226 X-Git-Url: http://erislabs.net/gitweb/?a=commitdiff_plain;h=f9914d0bfb3044288be311b7aec94af3e63734e4;p=gnulib.git 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 index c36aae998..0a05e7b24 100644 --- 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 index ea0e6405e..cbcd2a3f8 100644 --- 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 index 37c51232b..fb7354efd 100644 --- a/lib/strftime.c +++ b/lib/strftime.c @@ -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 = © +#endif + zone = NULL; #if HAVE_TM_ZONE /* The POSIX test suite assumes that setting diff --git a/m4/ChangeLog b/m4/ChangeLog index 9dcd968e3..cea67d176 100644 --- 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 index b47ea8ccc..64cdf2b6a 100644 --- 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_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) diff --git a/modules/strftime b/modules/strftime index 7abe4206c..18bc4118b 100644 --- a/modules/strftime +++ b/modules/strftime @@ -10,7 +10,6 @@ m4/strftime.m4 Depends-on: time_r -tzset stdbool configure.ac: