Jim Meyering [Wed, 12 Jul 1995 02:59:44 +0000 (02:59 +0000)]
(tail): Explicitly cast to long the N_UNITS argumennt in
call to tail_lines. Otherwise, NetBSD lost because N_UNITS (of type
off_t, a 64-bit type on NetBSD) wasn't converted to the target type,
long. Reported by Dan Hagerty (hag@gnu.ai.it.edu).
Jim Meyering [Sun, 9 Jul 1995 16:42:31 +0000 (16:42 +0000)]
(main): When using obsolescent +pos -pos syntax, allow
omission of field spec only when character offset is specified.
Otherwise, -. +. would be accepted.
Jim Meyering [Sun, 9 Jul 1995 02:25:11 +0000 (02:25 +0000)]
(main): Allow field spec, M, to be omitted in +M.N or -M.N
position specification. Omitting M is equivalent to specifying `0'
for M. From Rick Sladkey (jrs@world.std.com).
Jim Meyering [Fri, 7 Jul 1995 04:46:03 +0000 (04:46 +0000)]
(dump): Correct loop-termination criterion.
Before, running `printf 1234| ./od --width=4 --read-bytes=4'
printed output for 8 bytes -- the last four were garbage.
This happened only when the dump limit, N, was specified (with
--read-bytes=N) and N was a multiple of bytes_per_block
(usually 16, but 4 in this example). From Andreas Schwab.
Jim Meyering [Mon, 3 Jul 1995 03:10:59 +0000 (03:10 +0000)]
(split_3): Rewrite to parse Plumb/Lankester format as well.
(main): Write (de facto) standard Plumb/Lankester format.
New option: --quiet.
Check option no longer takes an argument.
When checking, exit status reflects success.
Jim Meyering [Sun, 25 Jun 1995 01:44:35 +0000 (01:44 +0000)]
(parse_group): Use xstrtoul instead of isnumber; the latter would
silently overflow, accepting a group id larger than INT_MAX.
(isnumber): Remove now-unused static function.
(change_file_group) [MAXUID]: Give a more descriptive message
when numeric group id is larger than MAXUID.
Jim Meyering [Sat, 24 Jun 1995 21:07:55 +0000 (21:07 +0000)]
(read_input): Rename paramater MAX to MAX_N_BYTES. To avoid potential
conflict with max macro from some system's header files and bad pre-ANSI
compilers.
Jim Meyering [Thu, 22 Jun 1995 03:59:55 +0000 (03:59 +0000)]
[word]: Redefine. Otherwise, systems (Unicos for one) with
headers that define `word' to be a type get syntax errors because
of the variable by the same name.
Jim Meyering [Tue, 20 Jun 1995 12:00:55 +0000 (12:00 +0000)]
(md5_file): Initialize two elements of LEN portably,
rather than with ANSI aggregate initialization. Reported by
Edzer Pebesma <Edzer.Pebesma@rivm.nl>.
Jim Meyering [Sun, 18 Jun 1995 14:21:50 +0000 (14:21 +0000)]
(process_buffer): Copy values from struct into
individual local variables before performing computation on them,
then copy results back into returned struct. Solely for better
optimization by compilers that can't keep struct members in
registers. From Ulrich Drepper.
Jim Meyering [Fri, 16 Jun 1995 03:14:19 +0000 (03:14 +0000)]
Remove unnecessary uses of `defined' in #if* tests.
Don't use #elif. Some older compilers don't grok it.
(split_3): New function to parse out sum, flag, and filename
when reading check file.
(hex_digits): Remove length parameter since string parameter is
now nul-terminated.
(main): Don't allocate separate arrays for filename and sum
when checking. Get pointers into line buffer with split_3 instead
of using sscanf.
Jim Meyering [Thu, 15 Jun 1995 03:15:37 +0000 (03:15 +0000)]
Don't use #elif. Some old C compilers don't recognize it.
(hex_digits): New function.
(result): Give ctx parameter the `const' attribute.
(usage): Rewrite to make it clearer that there are three modes.
(main): Process all options before generating any output.
In particular, collect all --string options rather than operating
on them as they are encountered.
Allow --check=-. Before it tried to open the file named `-'.
Detect bogus input when --check'ing: non-hex, non-[tb] flag.
Map to lower case all hex digits read from check file.
Jim Meyering [Wed, 14 Jun 1995 02:23:48 +0000 (02:23 +0000)]
[NDEBUG]: Define it to disable assertions.
(is_char_class_member): Set a variable in each branch of switch stmt
and return that value after the switch (rather than returning directly
from every branch).
(unquote): More int->size_t changes.
(build_spec_list): More int->size_t changes.
Be very careful about comparison now that variables are unsigned:
Use i + 2 < len rather than i < len - 2. The latter failed for len < 2.
Jim Meyering [Tue, 13 Jun 1995 04:08:59 +0000 (04:08 +0000)]
[struct Spec_list] (indefinite_repeat_element): New member.
Use size_t rather than int or unsigned long where reasonable.
(get_spec_status): Make interface cleaner.
(get_s1_spec_status): New function.
(get_s2_spec_status): New function.
(validate): Use new functions.
Jim Meyering [Tue, 13 Jun 1995 04:02:22 +0000 (04:02 +0000)]
Indent some things.
(long_options): Add NULL entry. From Uli.
Touch up some comments.
(process_buffer): Bracket definition of OP with do...while(0) so stmts can be
semicolon terminated.