about summary refs log tree commit diff
path: root/time/tzfile.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-11-14 16:58:17 +0000
committerUlrich Drepper <drepper@redhat.com>2006-11-14 16:58:17 +0000
commitbef8927ad4b655ffa574a26810597de601fd8daf (patch)
tree97383aeb134342f55f9caad13ff2f2771ffc0520 /time/tzfile.c
parent146c129a46b58a6af9379047e2c4832d446a6185 (diff)
downloadglibc-bef8927ad4b655ffa574a26810597de601fd8daf.tar.gz
glibc-bef8927ad4b655ffa574a26810597de601fd8daf.tar.xz
glibc-bef8927ad4b655ffa574a26810597de601fd8daf.zip
[BZ #3137]
2006-11-14  Ulrich Drepper  <drepper@redhat.com>
	* timezone/zdump.c: Redo fix for BZ #3137.

	* timezone/scheck.c: Likewise.
Diffstat (limited to 'time/tzfile.c')
-rw-r--r--time/tzfile.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/time/tzfile.c b/time/tzfile.c
index 295f0aa3cb..ea2d7cae4c 100644
--- a/time/tzfile.c
+++ b/time/tzfile.c
@@ -279,7 +279,9 @@ __tzfile_read (const char *file, size_t extra, char **extrap)
     if (__builtin_expect (type_idxs[i] >= num_types, 0))
       goto lose;
 
-  if (BYTE_ORDER != BIG_ENDIAN || (sizeof (time_t) == 8 && trans_width == 4))
+  if ((BYTE_ORDER != BIG_ENDIAN && (sizeof (time_t) == 4 || trans_width == 4))
+      || (BYTE_ORDER == BIG_ENDIAN && sizeof (time_t) == 8
+	  && trans_width == 4))
     {
       /* Decode the transition times, stored as 4-byte integers in
 	 network (big-endian) byte order.  We work from the end of