Commit Graph

4660 Commits

Author SHA1 Message Date
Paul Eggert 47358fd2de (usage): Document "test" (with no args) and "[ ]". 2004-09-09 03:53:54 +00:00
Paul Eggert c9a4995265 (main): Don't reorder options. 2004-09-09 00:27:56 +00:00
Paul Eggert f786a91cd3 (main): Fix POSIX-conformance bug: "touch --
MMDDhhmm file" must be treated like "touch MMDDhhmm file" when
conforming to pre-2001 POSIX.
2004-09-07 06:21:46 +00:00
Paul Eggert 0cd2d8a70e (main): Emulate Solaris 8 and 9 "sort -y", so that
"sort -y abc" is like "sort abc" whereas "sort -y 100" is like
plain "sort".
2004-09-07 05:09:24 +00:00
Paul Eggert 286260ca55 Several changes for POSIX and FreeBSD compatibility.
(COMMON_SHORT_OPTIONS): Add -B, -D, -e, -F, -H, -I, -L, -O, -s, -X.
(long_options, main): --strings is now -S, not -s.
(usage): Reflect the usage changes.
(parse_old_offset): Do not issue a diagnostic on failure;
callers now do this as necessary.
(main): Support POSIX syntax.  Remove unused case 0 from getopt_long.
Add support for new short options (many undocumented) for
compatibility with FreeBSD.  Remove FIXME for -s; it's now
POSIX-compatible.  Default format is now oS, not o2.
2004-09-06 07:46:43 +00:00
Paul Eggert 3427d5c60c Sort options in usage message. 2004-09-06 01:00:03 +00:00
Paul Eggert 893a0d6f31 (recover_mode): Arg is now char const *, not char *.
(main): Use STDIN_FILENO, not 0.
Simplify option-parsing code a tad.
2004-09-05 07:27:51 +00:00
Paul Eggert 9be806694a (valid_options): Remove.
(main): Fix some bugs in handling invalid option-combinations
like "stty -F".
2004-09-05 07:21:42 +00:00
Paul Eggert c43708fda4 Regenerate. 2004-09-05 07:11:47 +00:00
Paul Eggert 7ee151d229 (HAVE_STRUCT_STATXFS_F_TYPE): Fix typo that prevented
it from ever being nonzero.  Reported by Pozsar Balazs in:
http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00189.html
(human_fstype): Add ramfs, squashfs, sysfs.
Reported by Pozsar Balazs in:
http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00188.html
(human_fstype): Return char const *, not char *.
Simplify internals a bit, and avoid casts.
2004-09-03 21:58:36 +00:00
Paul Eggert 54f4b3ce74 (usage): "alternated EBCDIC" -> "alternate EBCDIC".
(bit_count): Remove.  All uses changed to....
(multiple_bits_set): New function.
(scanargs): Use it, and check separately for each set of
incompatible options, to improve diagnostics.
(MX): Remove.
(apply_translations): Move checks for incompatible options
to scanargs, so that they're done consistently.
2004-09-03 08:11:34 +00:00
Paul Eggert 53af9da394 Output correct errno-related diagnostic on "paste" I/O errors.
(write_error, xputchar): New functions.
(paste_parallel): Use correct errno value after input error.
(paste_parallel, paste_serial): Report errno value after output error.
2004-09-03 01:35:33 +00:00
Paul Eggert d33243b5ac (paste_parallel): Improve replacement for ENDLIST and CLOSED. 2004-09-03 01:23:15 +00:00
Paul Eggert 0dd27bdf17 (dummy_closed, CLOSED, dummy_endlist, ENDLIST): Remove;
it's not portable C to assume FILE is a complete type.
(paste_parallel): Use null instead of ENDLIST, and an explicit
boolean instead of CLOSED.
2004-09-02 23:56:42 +00:00
Paul Eggert 969ed5b8f3 (add_tab_stop): Renamed from add_tabstop. All uses changed.
(parse_tab_stop): Renamed from parse_tabstop.  All uses changed.
(validate_tab_stop): Renamed from validate_tabstop.  All uses changed.
(next_file, main): Check fclose against 0, not EOF.
(unexpand): Remove unnecessary casts.
Add another loop nesting level, for lines, so that per-line variables
are initialized cleanly.
Revamp tab checking.  Check for write error immediately, rather
than just once at the end of the program.
(TAB_STOP_SENTINEL): Remove.
(tab_size): Now size_t, not uintmax_t, since we need to store
the sequences of blanks.
(max_column_width): New var.
(usage): Say "blank" where POSIX requires this.
(add_tab_stop): Calculate maximum column width.
(unexpand): Store the pending blanks, instead of merely counting them.
Follow POSIX's rules about -a requiring two blanks before a tab stop.
Get rid of internal label and goto.
2004-08-24 07:38:49 +00:00
Paul Eggert 0d568f7678 Revamp to resemble the new unexpand.c better.
(usage): -i does not convert tabs after non-tabs.
(add_tab_stop): Renamed from add_tabstop.  All uses changed.
(parse_tab_stop): Renamed from parse_tabstop.  All uses changed.
(validate_tab_stop): Renamed from validate_tabstop.  All uses changed.
(next_file, main): Check fclose against 0, not EOF.
(expand): Remove unnecessary casts.
Add another loop nesting level, for lines, so that per-line variables
are initialized cleanly.
Revamp tab checking.  Check for write error immediately, rather
than just once at the end of the program.
2004-08-24 07:38:04 +00:00
Paul Eggert 5dd2658cb2 Regenerate. 2004-08-20 02:12:59 +00:00
Paul Eggert 958ae74efa (usage): "chown '' file" is now allowed.
(main): Do not set user name to the empty string if the group
name is null.
2004-08-19 20:03:26 +00:00
Paul Eggert 67d2281544 (describe_change): Describe changes to -1:-1
without using "to OWNERSHIP" phrase.
2004-08-19 20:03:11 +00:00
Paul Eggert bbc2ac99c1 (parse_group): Return gid_t rather than storing it
through a pointer.  Treat "chgrp '' file" as a no-op change,
as FreeBSD does.
(main): Set chopt.group_name to NULL if the group is the empty
string.
2004-08-19 20:02:46 +00:00
Paul Eggert 8c3f76651a Regenerate. 2004-08-11 23:47:29 +00:00
Paul Eggert f469551274 Further fix for -d regression. 2004-08-11 23:41:44 +00:00
Paul Eggert b2c632e20c (main): Fix -d regression introduced with
--target-directory support at 2004-06-25.
2004-08-11 21:44:36 +00:00
Paul Eggert 367719ba5f (copy_internal): When preserving links, unlink
a destination with link count greater than one.  This is so
that commands like "cp -a" don't get confused when copying into
a destination that already contains many hard links.
2004-08-11 17:19:25 +00:00
Paul Eggert 8dafbe5806 (usage, tee): "tee -" writes to standard output, not
to a file named "-".
2004-08-10 22:08:58 +00:00
Paul Eggert 7b99d60f08 (die, xfopen, mergefps, first_same_file, merge):
A null file arg means standard output.
(main): "-o -" means to write to a file named "-",
not to standard output.
2004-08-10 22:08:09 +00:00
Paul Eggert 3847c07f66 (usage): "-" is an operand, not an option. 2004-08-10 22:07:52 +00:00
Paul Eggert 811c61b049 (change_timestamps): Fix int->bool conversion
bugs introduced on 2004-07-29.
2004-08-10 20:32:19 +00:00
Paul Eggert 290ba4ab1d (canonicalize_fname): Remove unneeded proxy function.
(can_mode): Make variable local.
2004-08-09 23:40:49 +00:00
Paul Eggert 1def589bea (wipename): Work even if the directory is writeable
and not readable.  Prefer write access, since this should work
better with fdatasync.
2004-08-09 23:34:49 +00:00
Paul Eggert 5d204d4e2f Regenerate. 2004-08-09 18:51:05 +00:00
Paul Eggert 884a7c36eb (xalloc_die): New function.
(main): Remove now-obsolete initialization of xalloc_fail_func.
2004-08-09 18:45:10 +00:00
Paul Eggert 4573c9e81c Finish renaming sha -> sha1. 2004-08-09 18:16:21 +00:00
Paul Eggert a5b9e9d440 (O_BINARY) [!O_BINARY && defined O_BINARY]:
Do not define, to avoid annoying compiler messages on QNX 6.3.
2004-08-08 03:04:00 +00:00
Paul Eggert a3538ea055 Regenerate. 2004-08-05 23:11:21 +00:00
Paul Eggert 4bf7ed05e1 Remove bogus "*/" from shell comment. 2004-08-04 22:31:15 +00:00
Paul Eggert 01b9ae45c6 (PRIdMAX, PRIoMAX, PRIuMAX, PRIxMAX):
Define to a concatenation of string literals, not to an expression;
needed for concatenation contexts.
(INTMAX_MAX, INTMAX_MIN): New macros.
2004-08-04 22:26:23 +00:00
Paul Eggert 4e40831b0c (print_stat): Don't assume st_ino / st_dev fits in
unsigned long; this isn't true for st_ino on Solaris 9.
2004-08-04 22:04:26 +00:00
Paul Eggert f37e35485f Do not depend on HAVE_SYSCTL when deciding
whether to include files.  Include <sys/param.h> if
HAVE_SYS_PARAM_H (not HAVE_SYSCTL).
(main) [defined __POWERPC__]: Add a kludge to work around a
Mac OS X bug, so that uname -p defaults to "powerpc" if
sysctl ((int[]) {CTL_HW, HW_MACHINE_ARCH}, 2, buffer, &bufsize, 0, 0)
fails.  Problem reported by Petter Reinholdtsen in:
http://lists.gnu.org/archive/html/bug-gnu-utils/2003-02/msg00201.html
2004-08-04 05:58:43 +00:00
Paul Eggert 3e3a031475 (main): Print uids using unsigned long int, not unsigned int. 2004-08-03 23:38:40 +00:00
Paul Eggert 7512995b22 (scan_entries): 0 -> STDIN_FILENO. 2004-08-03 23:38:21 +00:00
Paul Eggert 44956bb6b0 (iswspace, wc): Use to_uchar rather than a cast.
(print_lines, print_words, print_chars, print_bytes, print_linelength,
have_read_stdin, wc, wc_file, main):
Use bool for booleans.
(exit_status): Remove.
(wc, wc_file): Return bool status.  All callers changed.
2004-08-03 23:38:10 +00:00
Paul Eggert a1e3a341a6 (hard_LC_COLLATE, ignore_case, different, check_file,
main): Use bool for booleans.
(writeline, check_file): Use uintmax_t for line counts.
(check_file): Check for and report line number overflow,
when that matters.
2004-08-03 23:37:56 +00:00
Paul Eggert f55c9b41a2 Int cleanup and minor reorganization to be more like src/expand.c.
Include quote.h, xstrndup.h.
(TAB_STOP_SENTINEL): Increase from INT_MAX to INTMAX_MAX.
(convert_entire_line, have_read_stdin, parse_tabstops, next_file,
unexpand, main):
Use bool for booleans.
(tab_size, tab_list, add_tabstop, validate_tabstops, unexpand):
Use uintmax_t for column counts.
(first_free_tab, validate_tabstops, unexpand): Use size_t for sizes.
(add_tabstop, parse_tabstops, main): Don't reserve UINTMAX_MAX
as a tab stop.
(parse_tabstops): Don't use ISBLANK on possibly-signed char.
Detect overflow in tab stop string.
(next_file, main): Use EXIT_FAILURE/EXIT_SUCCESS instead of 1/0.
(unexpand): Concatenate input files the same way expand does.
2004-08-03 23:27:20 +00:00
Paul Eggert eae57519cd (print_element): Use bool for booleans. 2004-08-03 23:14:17 +00:00
Paul Eggert 86c940cf99 (silent, main): Use bool for booleans.
(main): 0 -> STDIN_FILENO.
2004-08-03 23:14:08 +00:00
Paul Eggert 53e793837a (struct item, n_strings): Use size_t for sizes.
(have_read_stdin, count_items, scan_zeros, detect_loop,
recurse_tree, walk_tree, tsort, main):
Use bool for booleans.
(exit_status): Remove.
(tsort): Return a success flag instead of storing into a global.
(main): Use it.
2004-08-03 23:13:20 +00:00
Paul Eggert b2978936b3 (no_create, use_ref, posix_date, amtime_now,
touch, main): Use bool for booleans.
(main): Avoid integer overflow when given more than INT_MAX
options.
2004-08-03 23:13:09 +00:00
Paul Eggert d60286964d (TRUE, FALSE, SHELL_BOOLEAN, TRUTH_OR, TRUTH_AND):
Remove.  All uses replaced by C99 boolean primitives.
(TEST_TRUE, TEST_FALSE): New constants, for readability.
(test_unop, binop, unary_operator, binary_operator, two_arguments,
three_arguments, posixtest, expr, term, and, or, is_int, age_of,
one_argument, main): Use bool for booleans.
(advance, unary_advance): Now inline procedures rather than a macros.
(is_int): Renamed from isint, to avoid namespace clash with ctype.h.
(term, and, or): When it's easy, loop instead of recursing.
(term): Avoid integer overflow if there are INT_MAX-3 args (!).
(binary_operator, unary_operator): Simplify by systematically rewriting
true==FOO to FOO (where FOO is a boolean).
(unary_operator): Don't consider a file to be a regular file
merely because its mode&S_IFMT is zero.  Just use S_ISREG.
Remove unnecessary casts.  Remove ifdefs for things like
S_ISSOCK that are no longer needed, since stat-macros.h always
defines them now.
2004-08-03 23:03:04 +00:00
Paul Eggert 09f4eb4ee0 (separator_ends_record, tac_seekable, tac_file,
tac_stdin, tac_stdin_to_mem, main): Use bool for booleans.
(match_length, G_buffer_size, tac_seekable, main): Use size_t for sizes.
(tac_seekable): Use ptrdiff_t for pointer subtraction.
Report an error if the result is out of range.
(tac_seekable, main): Check for integer overflow in buffer size
calculations.
(main): Remove unnecessary casts.
2004-08-03 22:40:28 +00:00