Jim Meyering [Sat, 28 Oct 2000 11:49:52 +0000 (11:49 +0000)]
Include assert.h.
(fillrand): Add a parameter, size_max.
Add an assertion.
Adjust caller.
(dopass): Break out of the `for (;;)' loop if size < offset.
That can happen now that dopass is called with SIZE == -1.
(do_wipefd): Accept a length of zero only for a regular file.
If lseek fails or returns 0 for a non-regular file, let dopass
determine the length.
Inspired by a patch from Alan Iwi.
Jim Meyering [Sat, 28 Oct 2000 08:22:11 +0000 (08:22 +0000)]
Update from libc.
Adjust for portability:
[HAVE_STDLIB_H]: Include stdlib.h.
[HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
Undef __memchr, too.
[!weak_alias]: Define __memchr to memchr.
Jim Meyering [Sun, 22 Oct 2000 11:50:16 +0000 (11:50 +0000)]
Factor out the differences between MD5 and SHA1,
and parameterize so this code may be used by both md5sum and the new
program, shasum. Loosely based on a patch from Scott Miller.
Jim Meyering [Sat, 21 Oct 2000 19:16:37 +0000 (19:16 +0000)]
Prevent a counter buffer overrun when numbering lines and when
processing 100 billion lines (or more) of input.
(LINE_COUNTER_BUF_LEN): Define to allow numbering as
many as 10^18 - 1 lines (the old limit was 10^11 - 1, and could
be exceeded without too much trouble). Use this symbol rather
than hard-coding the constant everywhere. Rather than overruning
for input with more lines, mark the line number by putting a
`>' in the leftmost slot.
(next_line_num): Fixed (now academic) possible line buffer overrun.
Patch by Jan Nieuwenhuizen.
Jim Meyering [Sat, 21 Oct 2000 11:28:42 +0000 (11:28 +0000)]
(memrchr): Declare if necessary.
(dir_name): Remove the restriction that there be no
trailing slashes. Now, this code skips past them, effectively
ignoring them.
[TEST_DIRNAME] (main): New unit tests.
Jim Meyering [Wed, 18 Oct 2000 20:47:25 +0000 (20:47 +0000)]
(universal_time): Remove; it's just a temptation to do the wrong thing.
(main): The -u option now just sets TZ; it doesn't do anything else.
(show_date): Do not do anything special if -u is set.
This affects the behavior of the -I and -R options.
Jim Meyering [Wed, 18 Oct 2000 20:45:20 +0000 (20:45 +0000)]
* src/date.c (universal_time): Remove; it's just a temptation to
do the wrong thing.
(main): The -u option now just sets TZ; it doesn't do anything else.
(show_date): Do not do anything special if -u is set.
This affects the behavior of the -I and -R options.
Jim Meyering [Wed, 18 Oct 2000 19:03:30 +0000 (19:03 +0000)]
Undo the effect of the 1997-07-12 change to date.c; it
broke "date -u MMDDhhmm" and it wasn't documented.
This reverts to the behavior of the 1996-01-03 patch.
(utc-0, utc-1, relative-2): Adjust to above change.
Jim Meyering [Wed, 18 Oct 2000 19:02:56 +0000 (19:02 +0000)]
Undo the effect of the 1997-07-12 change to date.c; it
broke "date -u MMDDhhmm" and it wasn't documented.
This reverts to the behavior of the 1996-01-03 patch.
(TZ_UTC0, MAYBE_SET_TZ_UTC0, set_tz): Remove.
(batch_convert): Don't futz with TZ.
(main): -u now parses all dates as UTC, not just some.