diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-07-25 00:49:30 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-07-25 00:49:30 +0000 |
commit | 02ade8d6b0058becfb8d3156e8b9cc3519bfb4bb (patch) | |
tree | 8350ce4d253038074572b480fb12a177e5aa5617 /timezone/zic.c | |
parent | 99fe3b0e7a0a9d72152cc86df0571c231c83cae4 (diff) | |
download | glibc-02ade8d6b0058becfb8d3156e8b9cc3519bfb4bb.zip glibc-02ade8d6b0058becfb8d3156e8b9cc3519bfb4bb.tar.gz glibc-02ade8d6b0058becfb8d3156e8b9cc3519bfb4bb.tar.bz2 |
Update.
* timezone/zic.c (rpytime): Replace cheap overflow check with a
functioning one.
Diffstat (limited to 'timezone/zic.c')
-rw-r--r-- | timezone/zic.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/timezone/zic.c b/timezone/zic.c index 64642b3..26d0041 100644 --- a/timezone/zic.c +++ b/timezone/zic.c @@ -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); } |