summary refs log tree commit diff
path: root/time/strftime.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-07-14 21:49:20 +0000
committerUlrich Drepper <drepper@redhat.com>1997-07-14 21:49:20 +0000
commitcd6ede759fadcf8cd1f8c069928611d18cef5c1a (patch)
tree9d4bbf1daaf37c365dfa5234d1caf2b6b9547708 /time/strftime.c
parentf21acc89c06c14160eab88246e9dbe0b17eb5f89 (diff)
downloadglibc-cd6ede759fadcf8cd1f8c069928611d18cef5c1a.tar.gz
glibc-cd6ede759fadcf8cd1f8c069928611d18cef5c1a.tar.xz
glibc-cd6ede759fadcf8cd1f8c069928611d18cef5c1a.zip
1997-07-14 23:37  Ulrich Drepper  <drepper@cygnus.com>

	* inet/getnameinfo.c: Pretty print.
	Correctly enlarge buffers.

	* login/programs/utmpd.c: Use _() instead of gettext().

	* nis/nss_nisplus/nisplus-hosts.c: Optimize some uses of stpcpy away.
	* nis/nss_nisplus/nisplus-network.c: Likewise.
	* nis/nss_nisplus/nisplus-proto.c: Likewise.
	* nis/nss_nisplus/nisplus-rpc.c: Likewise.
	* nis/nss_nisplus/nisplus-service.c: Likewise.

	* sysdeps/alpha/fpu/bits/mathinline.h: Only define functions if
	__OPTIMIZE__.
	* sysdeps/powerpc/bits/mathinline.h: Likewise.
	* sysdeps/i386/fpu/bits/mathinline.h: Define ISO C9x comparison
	function always.
	* sysdeps/m68k/fpu/bits/mathinline.h: Likewise.
	* sysdeps/stub/bits/mathinline.h: Add conditionals to show how
	it should look like in real files.

	* sysdeps/generic/bits/select.h (__FD_ZERO): Don't use memset to
	prevent prototype trouble, use simple loop.
	* sysdeps/i386/bits/select.h [!__GNUC__] (__FD_ZERO): Likewise.

	* sysdeps/mips/mips64/Implies: Imply ieee754.

	* sysdeps/unix/sysv/linux/Makefile: Make sure bits/syscall.h is
	installed.
	* sysdeps/unix/sysv/linux/sys/syscal.h: Pretty print.

1997-07-14 00:25  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/stub/bits/stdio_lim.h: Unify with standalone version.
	* sysdeps/standalone/bits/stdio_lim.h: Removed.
	Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.

1997-06-22  Paul Eggert  <eggert@twinsun.com>

	* time/strftime.c (strftime): Use tm_zone if available, even if _LIBC.

	* time/tzfile.c (__tzstring): New decl.
	(__tzfile_read, __tzfile_default): Set __tzname to permanent strings.
	(__tzfile_default): First two args are now const char *.

	* time/tzset.c (__tzstring): New function.
	(tz_rule): Name is now const char *.
	(struct tzstring_head): New type.
	(tzstring_list, tzstring_last_buffer_size): New static vars.
	(__tzset_internal): Time zone names are now permanent, not temporary.
Diffstat (limited to 'time/strftime.c')
-rw-r--r--time/strftime.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/time/strftime.c b/time/strftime.c
index c53f20872c..891d301f5c 100644
--- a/time/strftime.c
+++ b/time/strftime.c
@@ -424,15 +424,13 @@ strftime (s, maxsize, format, tp)
   const char *f;
 
   zone = NULL;
-#if !defined _LIBC && HAVE_TM_ZONE
-  /* XXX We have some problems here.  First, the string pointed to by
-     tm_zone is dynamically allocated while loading the zone data.  But
-     when another zone is loaded since the information in TP were
-     computed this would be a stale pointer.
-     The second problem is the POSIX test suite which assumes setting
+#if HAVE_TM_ZONE
+  /* The POSIX test suite assumes that setting
      the environment variable TZ to a new value before calling strftime()
      will influence the result (the %Z format) even if the information in
-     TP is computed with a totally different time zone.  --drepper@gnu  */
+     TP is computed with a totally different time zone.
+     This is bogus: though POSIX allows bad behavior like this,
+     POSIX does not require it.  Do the right thing instead.  */
   zone = (const char *) tp->tm_zone;
 #endif
 #if HAVE_TZNAME