Paul Eggert [Thu, 5 Jun 2003 06:43:15 +0000 (06:43 +0000)]
Fix Debian bug 177940
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
(localtime_offset): Now long int, not time_t, because we want it
to be guaranteed to be signed. All uses changed.
(__mktime_internal): If overflow would occur when adding offset,
don't add it.
Jim Meyering [Mon, 2 Jun 2003 08:22:29 +0000 (08:22 +0000)]
Fix some minor time-related bugs with POSIX time arguments.
Some valid time stamps were being rejected (notably -1, and
time stamps before 1900 on 64-bit hosts). And some invalid
time stamps were being accepted, e.g. September 31.
* posixtm.h (posixtime): Return bool instead of time_t, so
that we can return (time_t) -1 successfully.
Jim Meyering [Mon, 2 Jun 2003 08:20:57 +0000 (08:20 +0000)]
Fix some minor time-related bugs with POSIX time arguments.
Some valid time stamps were being rejected (notably -1, and
time stamps before 1900 on 64-bit hosts). And some invalid
time stamps were being accepted, e.g. September 31.
* posixtm.h (posixtime): Return bool instead of time_t, so
that we can return (time_t) -1 successfully.
* posixtm.c: Likewise.
[HAVE_STDBOOL_H]: Include <stdbool.h>.
(bool, false, true) [!HAVE_STDBOOL_H]: New type.
(t): Remove static var.
(year, posix_time_parse): Now takes struct tm * arg to modify, instead
of static var. All uses changed.
(year): Do not reject years before 1900; they can occur with
64-bit time_t.
(posix_time_parse): Do not check for out-of-range components;
that is now the caller's responsibility, since our checks were
only approximations.
(posixtime): Use mktime to check for out-of-range components,
since it knows them exactly.
If mktime returns (time_t) -1, check whether an error actually occurred
by invoking localtime on -1.
(main) [TEST_POSIXTIME]: Check for input data errors, and report
posixtime failures better.
Improve the test data (in comments only).
Paul Eggert [Thu, 29 May 2003 07:21:59 +0000 (07:21 +0000)]
in lib:
* addext.c, backupfile.c, fsusage.c, human.c, pathmax.h,
rpmatch.c, userspec.c, xreadlink.c, xstrtol.c: Include <limits.h>
without checking for HAVE_LIMITS_H.
* backupfile.c, fsusage.c, hash.c, human.c, safe-read.c, userspec.c,
xstrtol.c (CHAR_BIT) : Don't define, since <limits.h> is guaranteed
to do that.
* fatal.c: Include <stdarg.h> without checking for __STDC__.
* exclude.c: Include <stdbool.h> unconditionally.
* tempname.c: Include <stddef.h> unconditionally.
* hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
* modechange.c, rpmatch.c (NULL): Don't define, since
<stddef.h> does that.
* quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
* safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
* safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer needed.
* xstrtol.c: Likewise.
* safe-read.c: Remove TYPE_SIGNED; no longer needed.
* savedir.c: Include <stddef.h> instead of defining NULL.
Jim Meyering [Mon, 26 May 2003 19:38:42 +0000 (19:38 +0000)]
(UTILS_FUNC_DIRFD): Test the cache variable, not one
that is guaranteed to be `no'. Use `no_such_member' to indicate
that condition, rather than `-1' which is slightly misleading.
Change the name of the cache variable to have the gl_ prefix.
Prompted by a patch from Richard Dawe for DJGPP.
Paul Eggert [Tue, 22 Apr 2003 03:28:22 +0000 (03:28 +0000)]
(gl_ERROR): Do not put under dynamic conditions some
code which expansion is under static control. Patch imported from
Akim Demaille's patch to Bison; see
<http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
Jim Meyering [Sat, 5 Apr 2003 06:49:44 +0000 (06:49 +0000)]
[TEST_DIRNAME]: Update build instructions for test.
Add test-cases for DOS filenames. Declare program_name.
(main): Set up program_name. From Rich Dawe.
Jim Meyering [Sat, 5 Apr 2003 06:46:00 +0000 (06:46 +0000)]
Merge change from Coreutils.
(read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
error from mntctl.
Use mntctl's return value to drive the entry-processing loop, since
we can't rely on the value of the vmt_length member in the last
entry. On some systems doing so could result in exhausting
virtual memory. Based in part on a patch from Mike Jetzer.