This is the mail archive of the
glibc-bugs@sources.redhat.com
mailing list for the glibc project.
[Bug libc/473] mktime.c patches for Southern hemisphere and 64-bit time_t
- From: "cvs-commit at gcc dot gnu dot org" <sourceware-bugzilla at sources dot redhat dot com>
- To: glibc-bugs at sources dot redhat dot com
- Date: 1 Nov 2004 00:21:36 -0000
- Subject: [Bug libc/473] mktime.c patches for Southern hemisphere and 64-bit time_t
- References: <20041022214551.473.eggert@gnu.org>
- Reply-to: sourceware-bugzilla at sources dot redhat dot com
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-11-01 00:21 -------
Subject: Bug 473
CVSROOT: /cvs/glibc
Module name: libc
Changes by: roland@sources.redhat.com 2004-11-01 00:21:26
Modified files:
time : tst-mktime.c
Log message:
2004-10-24 Paul Eggert <eggert@cs.ucla.edu>
[BZ #473]
* time/tst-mktime.c (main): Don't assume that mktime fails
when given time stamps before 1970. It returns negative
time_t values instead, for compatibility with BSD.
Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/time/tst-mktime.c.diff?cvsroot=glibc&r1=1.3&r2=1.4
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-11-01 00:21 -------
Subject: Bug 473
CVSROOT: /cvs/glibc
Module name: libc
Changes by: roland@sources.redhat.com 2004-11-01 00:21:28
Modified files:
time : mktime.c
Log message:
2004-10-27 Derek R. Price <derek@ximbiot.com>
[BZ #487] This change is imported from gnulib.
* time/mktime.c (not_equal_tm) [DEBUG]: Remove redundant check.
2004-10-24 Paul Eggert <eggert@cs.ucla.edu>
[BZ #473] Import from gnulib. Revamp to avoid several problems near
time_t extrema, and on hosts with 64-bit time_t and 32-bit int.
This fixes Debian bug 177940.
* time/mktime.c (TIME_T_MIDPOINT): New macro.
(ydhms_diff): Renamed from ydhms_tm_diff, with a new signature,
which avoids overflow problems on hosts with 64-bit time_t and
32-bit int. All callers changed. Now an inline function.
Verify at compile-time that long int is wide enough to avoid
these overflow problems.
(guess_time_tm): New function.
(__mktime_internal): Use it. Avoid overflow when computing yday on
hosts with 64-bit long and 32-bit int. Remove tests for 69;
no longer needed. Use if rather than #ifdef for LEAP_SECONDS_POSSIBLE
so that the code is checked by more compilers.
Do not rely on floating point to probe: stick to integer arithmetic,
to avoid potential porting problems.
Repair potential overflow correctly in the Southern Hemisphere.
(localtime_offset): Add a FIXME for the case where time_t is unsigned.
Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/time/mktime.c.diff?cvsroot=glibc&r1=1.60&r2=1.61
--
http://sources.redhat.com/bugzilla/show_bug.cgi?id=473
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.