aboutsummaryrefslogtreecommitdiff
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
parent* timezone/africa: Update from tzdata2006o. (diff)
downloadglibc-bef8927ad4b655ffa574a26810597de601fd8daf.tar.gz
glibc-bef8927ad4b655ffa574a26810597de601fd8daf.tar.bz2
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