Paul Eggert [Thu, 22 Sep 2005 07:00:24 +0000 (07:00 +0000)]
(gl_PREREQ): Require gl_FUNC_GETLINE rather than
AM_FUNC_GETLINE. Require gl_FUNC_GETPASS_GNU rather than
gl_FUNC_GETPASS. Require gl_MBCHAR and gl_MBITER.
Paul Eggert [Thu, 22 Sep 2005 06:39:14 +0000 (06:39 +0000)]
(GL_CONCAT): Remove.
Include "verify.h" instead.
(ARGMATCH_CONSTRAINT, ARGMATCH_ASSERT): Remove.
(ARGMATCH_VERIFY): Rewrite in terms of new verify macros.
Paul Eggert [Thu, 22 Sep 2005 06:32:52 +0000 (06:32 +0000)]
(VERIFY_EXPR, X2NREALLOC, X2REALLOC): Remove.
The latter two macros are moving to ../src/system.h for now.
This reverts this file to the gnulib version.
Jim Meyering [Tue, 20 Sep 2005 13:51:01 +0000 (13:51 +0000)]
(fdopendir): Be sure to close the supplied
file descriptor before returning. This makes our replacement
implementation a little closer to Solaris's, where fdopendir
ties the file descriptor to the returned DIR* pointer.
Paul Eggert [Sat, 17 Sep 2005 06:54:22 +0000 (06:54 +0000)]
(set_stat_atime, set_stat_ctime, set_stat_mtime): Remove; they were
buggy in the HAVE_STRUCT_STAT_ST_SPARE1 case, and they were dubious
anyway. I rewrote 'tar' to not use them any more.
Jim Meyering [Fri, 16 Sep 2005 17:53:40 +0000 (17:53 +0000)]
(subfmt-up1): Put quotes around format string
to protect `^' from interpretation by some shells.
Add a use of OUT_SUBST to compensate for Solaris strftime's slightly
different formatting of %c.
Jim Meyering [Fri, 16 Sep 2005 08:08:32 +0000 (08:08 +0000)]
Include fprintftime.h.
Don't include strftime.h or xanstrftime.h -- no longer needed.
(show_date): Use new fprintftime function rather than xanstrftime.
Correct comment: this function no longer handles a NULL format string.
Paul Eggert [Fri, 16 Sep 2005 07:39:41 +0000 (07:39 +0000)]
Include stat-time.h.
(SYSCALL_RESOLUTION): Depend on whether various struct stat
members exist, not on the obsolescent ST_MTIM_NSEC.
(utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
Paul Eggert [Fri, 16 Sep 2005 07:39:18 +0000 (07:39 +0000)]
(ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
(MTIME_CMP, TIMESPEC_NS): Remove. Now done by stat-time.h,
in a different way.
(timespec_cmp): New function.
Jim Meyering [Fri, 16 Sep 2005 07:31:29 +0000 (07:31 +0000)]
[FPRINTFTIME] (fprintftime): Provide a new interface:
size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
int utc, int nanoseconds);
Background:
date should not have to allocate a megabyte of virtual memory to
handle a format argument like +%1048575T. When implemented with
strftime, it must allocate such a buffer, use strftime to fill it
in, print it, then free it.
With fprintftime, it simply prints everything and exits.
With no need for memory allocation, that's one fewer way to fail.
Jim Meyering [Fri, 16 Sep 2005 06:54:19 +0000 (06:54 +0000)]
(subfmt-up1): Test the combination of the
to-upper-case modifier (^) and a conversion specifier that
expands to a string containing lower case characters.
Paul Eggert [Tue, 13 Sep 2005 23:32:35 +0000 (23:32 +0000)]
(SWAP): Renamed from NOTSWAP, to avoid a horrible misnaming.
All uses changed. Remove the old SWAP.
Remove obvious comment about BLOCKSIZE.
(rol): New macro, moved here from md5.h.
(sha1_process_block): Remove an incoherent FIXME comment.
Paul Eggert [Tue, 13 Sep 2005 23:31:37 +0000 (23:31 +0000)]
(__GNUC_PREREQ, __THROW, __attribute__): New macros.
(__md5_buffer): Renamed from md5_buffer. Add a macro undoing this
if _LIBC is not defined. Add __THROW.
(__md5_finish_ctx, __md5_init_ctx, __md5_process_block):
(__md5_process_bytes, __md5_read_ctx, __md5_stream): Likewise.
(struct md5_ctx): Mark buffer as being aligned.
(rol): Remove; all uses changed to CYCLIC.
Paul Eggert [Tue, 13 Sep 2005 22:43:11 +0000 (22:43 +0000)]
* src/dd.c: Detect some very unlikely buffer overflows.
(INPUT_BLOCK_SLOP, OUTPUT_BLOCK_SLOP): New macros.
(MAX_BLOCKSIZE): Now accepts an arg. All uses changed.
(page_size): New var.
(scanargs, skip, main): Use more-straightforward way to detect overflow.
(dd_copy): Use page_size rather than invoking getpagesize.
Use INPUT_BLOCK_SLOP, OUTPUT_BLOCK_SLOP.
(main): Set page_size.
Avoid a call to stat in the usual case where ftruncate succeeds.