Jim Meyering [Sat, 10 May 2003 14:54:23 +0000 (14:54 +0000)]
(main): Set program_name before first use.
Remove that (redundant) first use.
Don't exit successfully just because --verbose was specified.
Pass 0, not EXIT_SUCCESS, as first argument to error; when that
parameter is 0, error does not exit.
Jim Meyering [Thu, 8 May 2003 09:26:34 +0000 (09:26 +0000)]
(timespec_subtract): Don't modify the 2nd arg.
Work even if X-Y overflows when subtracting. Make explicit the
assumption that tv_nsec must be in range.
(clock_get_realtime): Remove. All callers changed to invoke gettime,
for simplicity.
(xnanosleep): Check for gettime failure every time.
Jim Meyering [Thu, 8 May 2003 06:26:00 +0000 (06:26 +0000)]
(clock_get_realtime): Use gettime.c's gettime function,
rather than an inferior, open-coded version that would fail on
AIX systems due to clock_gettime failing with errno == ENOSYS.
Jim Meyering [Tue, 6 May 2003 08:51:26 +0000 (08:51 +0000)]
(GL_FUNC_GETCWD_PATH_MAX): Check for the
declaration of getcwd *before* checking for the getcwd kernel bug.
Otherwise, configure-time `checking ...' messages would be intermixed.
Jim Meyering [Sun, 4 May 2003 08:30:01 +0000 (08:30 +0000)]
(__set_errno, LOCK, UNLOCK): Define.
(unsetenv): Update from GNU libc.
Ifdef-out this function, since the only caller
is putenv.c and that file now has its own copy.
Jim Meyering [Sun, 4 May 2003 07:10:21 +0000 (07:10 +0000)]
(HAVE_WORKING_READDIR): Define to 0 if not defined.
(IF_READDIR_NEEDS_REWINDDIR): Remove.
(remove_cwd_entries): Rewrite to avoid IF_READDIR_NEEDS_REWINDDIR,
which was a bit weird because it couldn't be emulated by a function.
Jim Meyering [Sat, 3 May 2003 15:10:13 +0000 (15:10 +0000)]
Extend head to accept --lines=-N (--bytes=-N) and to print all
but the N lines (bytes) at the end of the file.
Include full-write.h, full-read.h, inttostr.h, quote.h.
Use quote() in diagnostics, rather than literal `' marks.
(copy_fd, elide_tail_bytes_pipe, elide_tail_bytes_file):
New functions.
(elide_tail_lines_pipe, elide_tail_lines_file): New functions.
(head_file): Reorganize so as to call head from only one place.
(main): Likewise, for head_file.
Handle new, undocumented option, --presume-input-pipe.
Handle negative line and byte counts.
Jim Meyering [Sat, 3 May 2003 14:24:37 +0000 (14:24 +0000)]
Skip test if the file system of `.' doesn't support
sparse files -- otherwise it'd create a file of size 8GB.
This happens on Darwin6.5 with a file system of type `hfs'.
Jim Meyering [Fri, 2 May 2003 21:42:51 +0000 (21:42 +0000)]
(canonicalize_file_name) [!HAVE_RESOLVEPATH]:
A memory-allocation error could result in heap corruption. Fix it
by also updating `dest' when rpath may be changed by xrealloc.
Jim Meyering [Fri, 2 May 2003 19:52:48 +0000 (19:52 +0000)]
(usage): Don't mention obsolescent -WIDTH option.
Instead explain about `-' and standard input.
(main): Give a proper diagnostic for e.g., `fmt -c -72'.
Jim Meyering [Fri, 2 May 2003 13:01:28 +0000 (13:01 +0000)]
(GL_FUNC_READDIR): Revive dead file. Change name to
have GL_ (not jm_) prefix. Adjust cache variables similarly.
Create 500 rather than just 300 files, to exercise bug on
Darwin6.5, too.
Jim Meyering [Fri, 2 May 2003 12:53:02 +0000 (12:53 +0000)]
Work around nasty readdir bug with Darwin6.5 and hfs file system.
(IF_READDIR_NEEDS_REWINDDIR): Define.
[! HAVE_WORKING_READDIR] (remove_cwd_entries): If readdir has just
returned NULL and there has been at least one successful unlink or
rmdir call since the opendir or previous rewinddir, then call
rewinddir and reiterate the loop.