Commit Graph

2931 Commits

Author SHA1 Message Date
Jim Meyering 3939790637 Mostly clean-up (modulo the better diagnostic).
(copy_internal): Rename parameter, move_mode, to
command_line_arg, and adjust caller.  Now, move_mode is a local
that is derived from command_line_arg.
Factor some involved code to produce something slightly more readable.
Use x->move_mode, not move_mode in determining which diagnostic
to give (`backing up %s would destroy source;  %s not moved').
2001-09-22 08:27:27 +00:00
Jim Meyering b6baea64d1 (MAX_ADDRESS_LENGTH, pseudo_offset, format_address,
n_bytes_to_skip, skip, format_address_none,
format_address_std, format_address_paren,
format_address_label, write_block, parse_old_offset, dump,
dump_strings, main):
Use uintmax_t, not off_t, for file addresses, so that we can
handle multiple large files even if the sum of their sizes
exceeds off_t limits.

(print_s_char, print_char, print_s_short, print_short,
print_int, print_long, print_long_long, print_float,
print_double, print_long_double, dump_hexl_mode_trailer,
print_named_ascii, print_ascii, decode_one_format):
Use size_t, not off_t, for in-memory byte counts.

(end_offset): New var.
(dump, dump_strings): Use it.
(main): Set it, but check for overflow while doing so.

(skip): Report an error if an in-range lseek fails on a
regular file, as something's seriously wrong.  Check for
negative regular file sizes (possible with some broken NFS
implementations).

(parse_old_offset): Now all offsets are valid, so return a
success boolean and take a pointer to an offset as an argument.
All callers changed.

(dump_strings): Check for overflow when computing end_offset -
string_min.

(main): Remove OFF_T_MAX checks that are no longer needed.
Don't bother assigning through temporary when there's no size
limit to check.
2001-09-20 08:44:12 +00:00
Jim Meyering f3eff573fc (open_next_file): Use SETVBUF, not setbuf.
(skip): Revert part of last change: use lseek, not fseek.
2001-09-19 10:28:09 +00:00
Jim Meyering 18b2abbf6c When --read-bytes=N (-N N) is used, disable input buffering in
the standard I/O library.  Otherwise, od would read more input
than requested.  This could have caused problems when reading
from pipes, character devices, and open file descriptors inherited
from a parent process.

* src/od.c (open_next_file): New function, factored out of...
(skip): Adapt to use open_next_file.
(read_char): Likewise.
(read_block): Likewise.
(main): Likewise.
(dump): Fix an off-by-one error that could have made od fail to
report a read error when reading from a named file (not stdin).
(check_and_close): Account for the fact that in_stream may now be NULL.
(usage): Correct descriptions of -j and -N options.
Patch by Ian Bruce.
2001-09-19 10:19:19 +00:00
Jim Meyering b6e61f0f18 (usage): Fix typo in -g usage.
-H now means --dereference-command-line.
2001-09-17 10:20:50 +00:00
Jim Meyering c3a2a9a1cf (main): Change the `ignoring excess arguments' diagnostic
to list the first one we're ignoring.  Suggestion from Karl Berry.
2001-09-17 10:11:27 +00:00
Jim Meyering 22e8070d31 (usage): Prefix each line with a space, so that
help2man produces a better stty.1 man page.
2001-09-16 20:10:06 +00:00
Jim Meyering fb84cd1881 (usage): Describe -h option.
From Michael Stone.  http://bugs.debian.org/99272
2001-09-16 19:58:00 +00:00
Jim Meyering c0e0779f61 tweak line in help output 2001-09-16 16:07:07 +00:00
Jim Meyering 4d87cd7f5c (digest_check): On systems for which setmode actually
does something, arrange to read the file containing checksum strings
in text mode.  Based on a patch from Chris Faylor.
2001-09-16 09:28:34 +00:00
Jim Meyering 1b86315413 (SET_MODE): Define. 2001-09-16 09:27:58 +00:00
Jim Meyering 7088e9294e (EISDIR): Define to 0, if not already defined.
(touch): Give a better diagnostic for e.g., `touch /' by non-root.
Based on a patch from Michael Stone.
Reported by Jeff Sheinberg as Debian bug #101677.
2001-09-15 17:07:24 +00:00
Jim Meyering e1e70abfab (UNWRITABLE): Define (factored out of copy_internal).
(copy_internal): Use UNWRITABLE.
2001-09-15 12:46:05 +00:00
Jim Meyering cb40817c27 (copy_internal) [move_mode]: Support the new
--reply=... option.
2001-09-15 12:34:17 +00:00
Jim Meyering a9b3766804 Accept new option: --reply={yes,no,query}
Include argmatch.h.
(enum) [REPLY_OPTION]: Define.
(usage): Describe new option.
Split long usage string into smaller pieces.
(main): Handle new option.
2001-09-15 11:38:36 +00:00
Jim Meyering 6b6a9cd8c4 (main): Reflect renaming: s/I_ON/I_ASK_USER/. 2001-09-15 11:21:23 +00:00
Jim Meyering d929a883fc (enum Interactive): Remove members, I_OFF and I_ON.
Instead, add I_ALWAYS_YES, I_ALWAYS_NO, and I_ASK_USER.
2001-09-15 11:20:47 +00:00
Jim Meyering 08e983d3df (main): Don't strip trailing slashes; POSIX doesn't allow it here.
Don't include "dirname.h" when no longer needed.
2001-09-15 11:15:56 +00:00
Jim Meyering 222d08dc72 (main): Don't strip trailing slashes; POSIX doesn't allow it here.
Don't include "dirname.h" when no longer needed.
2001-09-15 11:14:49 +00:00
Jim Meyering 099fd9e8f0 (main): Don't strip trailing slashes; POSIX doesn't allow it here.
Don't include "dirname.h" when no longer needed.
2001-09-15 11:14:09 +00:00
Jim Meyering 52d78f0558 (main): Don't strip trailing slashes; POSIX doesn't allow it here.
Don't include "dirname.h" when no longer needed.
2001-09-15 10:32:36 +00:00
Jim Meyering 72dadf240e (main): Don't strip trailing slashes; POSIX doesn't allow it here.
Don't include "dirname.h" when no longer needed.
2001-09-15 10:32:05 +00:00
Jim Meyering 63a52bbb4c The command `echo a|./fmt -2147483647' would cause fmt to segfault.
(fmt_paragraph): Test for sentinal directly, rather than
doing arithmetic with it's potentially large (INT_MAX) length.
2001-09-12 09:07:35 +00:00
Jim Meyering 388c1a6104 tail: accept new option: -F, equivalent to `--follow=name --retry',
for compatibility with FreeBSD and NetBSD versions of tail.

(usage): Describe new option.
(parse_options): Accept it.
2001-09-12 07:27:29 +00:00
Jim Meyering 484ce2d8de The command `echo foo| fmt -w 100000' would cause fmt to segfault.
[struct Word]: Declare members length, space, and
line_length to be of type `int', not short.
(MAXCOST): Define using TYPE_MAXIMUM.
2001-09-12 06:41:01 +00:00
Jim Meyering 5d1daca135 (binary_operator): Correct typo in diagnostic.
From Jochen Hein.
2001-09-09 18:40:24 +00:00
Jim Meyering 326aa5c043 (copy_internal): Add braces around now-multi-stmt
if-block.  This fixes a bug introduced by my 2001-08-06 change.
2001-09-08 13:22:41 +00:00
Jim Meyering aaeb7a61c4 Correct copyright notice as per latest coding standards.
Remove list of options in comment, which wasn't
worth maintaining separately from usage().

(print_element): Move definition up, avoiding the need for
declaration and allowing inlining on some platforms.
Keep track of whether something has been printed; this is more
natural than modifying `toprint'.

(PRINT_KERNEL_NAME): Renamed from PRINT_SYSNAME.
(PRINT_KERNEL_RELEASE): Renamed from PRINT_RELEASE.
(PRINT_KERNEL_VERSION): Renamed from PRINT_VERSION.
(PRINT_HARDWARE_PLATFORM, PRINT_OPERATING_SYSTEM): New macros.
(toprint): Remove global var; now local in `main'.
(long_options, usage, main): Implement changes described in NEWS.
Reorder options to reflect output order.
(main): Use buffers one byte longer, for compatibility with Solaris 8.
Output newline at end.  -a sets `toprint' to -1 now; this is simpler.
Do not bother invoking system calls like uname if the resulting
information does not need to be printed.
Do not fail if sysinfo fails; just print "unknown".
2001-09-07 09:43:03 +00:00
Jim Meyering 87261b73b3 (get_link_name): Update use of xreadlink. 2001-09-04 20:23:48 +00:00
Jim Meyering be53392f0a (show_point): Use canonicalize_file_name, if possible.
[HAVE_RESOLVEPATH], [!HAVE_RESOLVEPATH]: Use malloc, not alloca,
so that these two paths also produce `resolved' in malloc'd storage.
Free that memory when done with it.
2001-09-01 16:24:19 +00:00
Jim Meyering 5c46e766b0 (get_link_name): Restore error-handling that was removed by preceding delta. 2001-09-01 13:26:41 +00:00
Jim Meyering fa207c2942 Include "xreadlink.h".
(get_link_name): Don't use PATH_MAX.
Rewrite to use xreadlink.
2001-09-01 09:58:04 +00:00
Jim Meyering b6c2910a61 (bool): Remove typedef, now that it's in system.h.
(TRUE): Define to `true', not 1.
(FALSE): Define to `false', not 0.
2001-08-31 09:55:26 +00:00
Jim Meyering ca9bd98b2a (copy_dir): Remove st_size argument. 2001-08-31 09:19:40 +00:00
Jim Meyering b20df0057f (count_entry): Remove st_size argument. 2001-08-31 09:18:13 +00:00
Jim Meyering d7c291117c (change_dir_mode): Remove statp arg; no longer needed. 2001-08-31 09:16:54 +00:00
Jim Meyering 56478b94ae (change_dir_owner): Remove statp arg; no longer needed. 2001-08-31 09:15:59 +00:00
Jim Meyering 3b7a24cc92 Do not include savedir.h; not used. 2001-08-31 09:11:04 +00:00
Jim Meyering 222973731a Include full-write.h.
(full_write): Remove decl; not needed.
2001-08-31 07:46:28 +00:00
Jim Meyering 30cc300814 copyright 2001-08-31 07:45:28 +00:00
Jim Meyering 722e2f0957 Include full-write.h.
(full_write): Remove decl; not needed.
(simple_cat, cat): Don't assume read and write size fits in int.
2001-08-31 07:45:12 +00:00
Jim Meyering 3f25540d1e (full_write): Remove decl; not needed. 2001-08-31 07:42:30 +00:00
Jim Meyering 63f570d12b (full_write): Remove decl; not needed. 2001-08-31 07:22:06 +00:00
Jim Meyering 109d7b4386 (full_write): Remove decl; not needed. 2001-08-31 07:21:23 +00:00
Jim Meyering 34db7168de Include full-write.h.
(full_write): Remove decl; not needed.
(open_fd): Don't assume read and write size fits in int.
2001-08-31 07:19:24 +00:00
Jim Meyering b62d5afd3f Include full-write.h.
(full_write): Remove decl; not needed.
(copy_reg): Don't assume read and write size fits in int.
2001-08-31 07:15:14 +00:00
Jim Meyering fd90d8dbf8 * src/remove.c: Move true/false definitions and include from here...
* src/system.h: ...to here.
2001-08-31 06:50:44 +00:00
Jim Meyering edbe4553a8 copyright 2001-08-31 06:46:52 +00:00
Jim Meyering 0e18bbb519 (count_entry, main): Reflect changes to the exclude functions. 2001-08-31 06:46:39 +00:00
Jim Meyering 9ac5676264 (main): Diagnose an invalid width option. 2001-08-28 08:32:51 +00:00