Update.
authorUlrich Drepper <drepper@redhat.com>
Fri, 25 Jul 2003 00:49:30 +0000 (00:49 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 25 Jul 2003 00:49:30 +0000 (00:49 +0000)
* timezone/zic.c (rpytime): Replace cheap overflow check with a
functioning one.

ChangeLog
timezone/zic.c

index c96f699..44e8d63 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2003-07-24  Ulrich Drepper  <drepper@redhat.com>
 
+       * timezone/zic.c (rpytime): Replace cheap overflow check with a
+       functioning one.
+
        * include/link.h (struct link_map): Add l_tls_firstbyte_offset field.
        * sysdeps/generic/dl-tls.c [TLS_TCB_AT_TP] (_dl_determine_tlsoffset):
        Fix calculation of offsets to take misalignment of first byte in
index 64642b3..26d0041 100644 (file)
@@ -2152,12 +2152,13 @@ register const int                      wantedy;
        }
        if (dayoff < 0 && !TYPE_SIGNED(time_t))
                return min_time;
+       if (dayoff < min_time / SECSPERDAY)
+               return min_time;
+       if (dayoff > max_time / SECSPERDAY)
+               return max_time;
        t = (time_t) dayoff * SECSPERDAY;
-       /*
-       ** Cheap overflow check.
-       */
-       if (t / SECSPERDAY != dayoff)
-               return (dayoff > 0) ? max_time : min_time;
+       if (t > 0 && max_time - t < rp->r_tod)
+               return max_time;
        return tadd(t, rp->r_tod);
 }