Paul Eggert [Thu, 19 Aug 2004 20:04:21 +0000 (20:04 +0000)]
New file, partly taken from
Dmitry V. Levin's suggestion in
<http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
Paul Eggert [Thu, 19 Aug 2004 20:04:02 +0000 (20:04 +0000)]
(TESTS): Add separator.
Paul Eggert [Thu, 19 Aug 2004 20:03:48 +0000 (20:03 +0000)]
Test "chgrp '' file".
Paul Eggert [Thu, 19 Aug 2004 20:03:26 +0000 (20:03 +0000)]
(usage): "chown '' file" is now allowed.
(main): Do not set user name to the empty string if the group
name is null.
Paul Eggert [Thu, 19 Aug 2004 20:03:11 +0000 (20:03 +0000)]
(describe_change): Describe changes to -1:-1
without using "to OWNERSHIP" phrase.
Paul Eggert [Thu, 19 Aug 2004 20:02:46 +0000 (20:02 +0000)]
(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.
Paul Eggert [Thu, 19 Aug 2004 20:02:07 +0000 (20:02 +0000)]
"chown : file", "chown '' file", and "chgrp '' file" now
succeed without changing the uid and gid, like FreeBSD.
Paul Eggert [Wed, 18 Aug 2004 20:48:50 +0000 (20:48 +0000)]
Add fts.h, search.h.
Paul Eggert [Wed, 18 Aug 2004 20:48:35 +0000 (20:48 +0000)]
Add .kludge-stamp.
Paul Eggert [Wed, 18 Aug 2004 20:22:58 +0000 (20:22 +0000)]
* coreutils.texi (printf invocation): Clarify "printf".
Paul Eggert [Wed, 18 Aug 2004 20:22:32 +0000 (20:22 +0000)]
(printf invocation): Clarify how "printf" is
supposed to work with extra arguments, missing arguments, etc.
Paul Eggert [Wed, 11 Aug 2004 23:47:29 +0000 (23:47 +0000)]
Regenerate.
Paul Eggert [Wed, 11 Aug 2004 23:41:44 +0000 (23:41 +0000)]
Further fix for -d regression.
Paul Eggert [Wed, 11 Aug 2004 22:30:23 +0000 (22:30 +0000)]
Fix typo: missing ).
Paul Eggert [Wed, 11 Aug 2004 22:26:23 +0000 (22:26 +0000)]
obstack fixes
Paul Eggert [Wed, 11 Aug 2004 22:26:17 +0000 (22:26 +0000)]
minor porting fixes (e.g., obstack)
Paul Eggert [Wed, 11 Aug 2004 22:24:57 +0000 (22:24 +0000)]
(gl_PREREQ_OBSTACK): Require
gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
Paul Eggert [Wed, 11 Aug 2004 22:24:25 +0000 (22:24 +0000)]
Do not include error.h. (merge from gnulib).
Paul Eggert [Wed, 11 Aug 2004 22:24:14 +0000 (22:24 +0000)]
Include <inttypes.h> and <stdint.h> if available.
(union fooround): Use uintmax_t, not long int.
The rest is a merge from libc:
[defined _LIBC]: Include <shlib-compat.h>.
(_obstack) [defined _LIBC]: Remove after 2.3.4.
Paul Eggert [Wed, 11 Aug 2004 22:24:04 +0000 (22:24 +0000)]
(settime): Recode to avoid warning with Sun Forte C 6U2.
Paul Eggert [Wed, 11 Aug 2004 22:23:54 +0000 (22:23 +0000)]
(O_DIRECTORY): Define to 0 if the system doesn't define.
Paul Eggert [Wed, 11 Aug 2004 21:52:17 +0000 (21:52 +0000)]
Test for the -d regression.
Paul Eggert [Wed, 11 Aug 2004 21:51:57 +0000 (21:51 +0000)]
Test for the -d regression.
Paul Eggert [Wed, 11 Aug 2004 21:44:49 +0000 (21:44 +0000)]
* src/install.c (main): Fix -d regression
Paul Eggert [Wed, 11 Aug 2004 21:44:36 +0000 (21:44 +0000)]
(main): Fix -d regression introduced with
--target-directory support at 2004-06-25.
Paul Eggert [Wed, 11 Aug 2004 17:53:50 +0000 (17:53 +0000)]
Fix porting problem to Reliant Unix.
Paul Eggert [Wed, 11 Aug 2004 17:53:34 +0000 (17:53 +0000)]
(WIDE_CHAR_SUPPORT): Don't set to 1 if missing
wmemchr or wmemcpy. Problem reported by Robert Dahlem
for Reliant Unix 5.43.
Paul Eggert [Wed, 11 Aug 2004 17:53:16 +0000 (17:53 +0000)]
(_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
Paul Eggert [Wed, 11 Aug 2004 17:19:25 +0000 (17:19 +0000)]
(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.
Paul Eggert [Wed, 11 Aug 2004 17:19:07 +0000 (17:19 +0000)]
Fix cp -a confusion bug.
Paul Eggert [Tue, 10 Aug 2004 22:50:58 +0000 (22:50 +0000)]
Convert to UTF-8.
Paul Eggert [Tue, 10 Aug 2004 22:47:08 +0000 (22:47 +0000)]
Convert to UTF-8.
Paul Eggert [Tue, 10 Aug 2004 22:09:11 +0000 (22:09 +0000)]
Fix typo in previous log entry.
Paul Eggert [Tue, 10 Aug 2004 22:08:58 +0000 (22:08 +0000)]
(usage, tee): "tee -" writes to standard output, not
to a file named "-".
Paul Eggert [Tue, 10 Aug 2004 22:08:09 +0000 (22:08 +0000)]
(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.
Paul Eggert [Tue, 10 Aug 2004 22:07:52 +0000 (22:07 +0000)]
(usage): "-" is an operand, not an option.
Paul Eggert [Tue, 10 Aug 2004 22:07:31 +0000 (22:07 +0000)]
(Common options): Clarify that "-" means
stdin/stdout only when it is an operand, not when it is an
option-argument.
(shred invocation): "shred -- -" is equivalent to "shred -",
not to "shred ./-".
(tee invocation): "tee -" means to copy (again) to stdout.
Paul Eggert [Tue, 10 Aug 2004 22:06:52 +0000 (22:06 +0000)]
POSIX-conformance fixes for "-" used as an operand.
Paul Eggert [Tue, 10 Aug 2004 22:06:28 +0000 (22:06 +0000)]
"sort -o -", "shred -", "tee -" POSIX-conformance fixes.
Paul Eggert [Tue, 10 Aug 2004 22:05:47 +0000 (22:05 +0000)]
Document "sort -o -" and "tee -" POSIX-conformance fixes.
Paul Eggert [Tue, 10 Aug 2004 20:32:32 +0000 (20:32 +0000)]
Fix install.c int->bool conversion bug.
Paul Eggert [Tue, 10 Aug 2004 20:32:19 +0000 (20:32 +0000)]
(change_timestamps): Fix int->bool conversion
bugs introduced on 2004-07-29.
Paul Eggert [Tue, 10 Aug 2004 06:54:15 +0000 (06:54 +0000)]
Regenerate.
Paul Eggert [Tue, 10 Aug 2004 05:43:11 +0000 (05:43 +0000)]
Sync with gnulib.
Paul Eggert [Mon, 9 Aug 2004 23:40:58 +0000 (23:40 +0000)]
readlink.c cleanup
Paul Eggert [Mon, 9 Aug 2004 23:40:49 +0000 (23:40 +0000)]
(canonicalize_fname): Remove unneeded proxy function.
(can_mode): Make variable local.
Paul Eggert [Mon, 9 Aug 2004 23:35:15 +0000 (23:35 +0000)]
Improve code to work in some cases when files are writeable but not readable.
Paul Eggert [Mon, 9 Aug 2004 23:34:49 +0000 (23:34 +0000)]
(wipename): Work even if the directory is writeable
and not readable. Prefer write access, since this should work
better with fdatasync.
Paul Eggert [Mon, 9 Aug 2004 23:34:15 +0000 (23:34 +0000)]
(diropen): New function.
(fts_open, fts_read, fts_children, fts_safe_changedir):
Use it, so that the code works even if the directory
is writeable but not readable.
Paul Eggert [Mon, 9 Aug 2004 23:33:53 +0000 (23:33 +0000)]
(rpl_chown): Work even if the file is writeable but not readable.
Paul Eggert [Mon, 9 Aug 2004 23:27:55 +0000 (23:27 +0000)]
Switch to UTF-8.
Paul Eggert [Mon, 9 Aug 2004 23:26:57 +0000 (23:26 +0000)]
Change to UTF-8.
Paul Eggert [Mon, 9 Aug 2004 23:26:08 +0000 (23:26 +0000)]
Import from gnulib.
Paul Eggert [Mon, 9 Aug 2004 18:51:05 +0000 (18:51 +0000)]
Regenerate.
Paul Eggert [Mon, 9 Aug 2004 18:45:10 +0000 (18:45 +0000)]
(xalloc_die): New function.
(main): Remove now-obsolete initialization of xalloc_fail_func.
Paul Eggert [Mon, 9 Aug 2004 18:44:46 +0000 (18:44 +0000)]
Remove dependency of xalloc on error, etc.
Paul Eggert [Mon, 9 Aug 2004 18:18:41 +0000 (18:18 +0000)]
Adjust to sha->sha1 renaming.
Paul Eggert [Mon, 9 Aug 2004 18:16:21 +0000 (18:16 +0000)]
Finish renaming sha -> sha1.
Paul Eggert [Sun, 8 Aug 2004 03:04:21 +0000 (03:04 +0000)]
(O_BINARY) [!O_BINARY && defined O_BINARY]:
Do not define, to avoid annoying compiler messages on QNX 6.3.
Paul Eggert [Sun, 8 Aug 2004 03:04:00 +0000 (03:04 +0000)]
(O_BINARY) [!O_BINARY && defined O_BINARY]:
Do not define, to avoid annoying compiler messages on QNX 6.3.
Paul Eggert [Sat, 7 Aug 2004 07:16:54 +0000 (07:16 +0000)]
Merge from gnulib.
Paul Eggert [Thu, 5 Aug 2004 23:11:21 +0000 (23:11 +0000)]
Regenerate.
Paul Eggert [Thu, 5 Aug 2004 23:09:29 +0000 (23:09 +0000)]
New file, imported from gnulib.
Paul Eggert [Thu, 5 Aug 2004 23:01:03 +0000 (23:01 +0000)]
Sync from gnulib.
Paul Eggert [Wed, 4 Aug 2004 22:51:23 +0000 (22:51 +0000)]
Fixes for OpenBSD 3.4.
Paul Eggert [Wed, 4 Aug 2004 22:51:03 +0000 (22:51 +0000)]
Fixes for OpenBSD 3.4.
Paul Eggert [Wed, 4 Aug 2004 22:50:41 +0000 (22:50 +0000)]
Fixes for OpenBSD 3.4.
Paul Eggert [Wed, 4 Aug 2004 22:35:37 +0000 (22:35 +0000)]
Fix parenthesization typo.
Paul Eggert [Wed, 4 Aug 2004 22:31:15 +0000 (22:31 +0000)]
Remove bogus "*/" from shell comment.
Paul Eggert [Wed, 4 Aug 2004 22:30:38 +0000 (22:30 +0000)]
Remove bogus "*/" from shell comment.
Paul Eggert [Wed, 4 Aug 2004 22:27:36 +0000 (22:27 +0000)]
Include copyright notice.
(cu_PREREQ_STAT_PROG): Use the _ONCE variants when appropriate.
Include sys/param.h before testing for sys/mount.h.
Paul Eggert [Wed, 4 Aug 2004 22:27:24 +0000 (22:27 +0000)]
Include copyright notice.
(gl_LIST_MOUNTED_FILE_SYSTEMS): Include sys/param.h before
testing for sys/mount.h.
Paul Eggert [Wed, 4 Aug 2004 22:27:12 +0000 (22:27 +0000)]
Include copyright notice.
(gl_MACROS): Use the _ONCE variants when appropriate.
Include sys/param.h before testing for sys/sysctl.h and sys/mount.h;
needed for OpenBSD 3.4.
Paul Eggert [Wed, 4 Aug 2004 22:27:00 +0000 (22:27 +0000)]
Add copyright notice.
(gl_FSUSAGE): Include sys/param.h before checking for sys/mount.h.
Needed for OpenBSD 3.4.
Paul Eggert [Wed, 4 Aug 2004 22:26:42 +0000 (22:26 +0000)]
Add copyright notice.
(GNULIB_BOOT_TIME): Include sys/param.h before testing
for sys/sysctl.h; needed for OpenBSD 3.4.
Paul Eggert [Wed, 4 Aug 2004 22:26:23 +0000 (22:26 +0000)]
(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.
Paul Eggert [Wed, 4 Aug 2004 22:08:33 +0000 (22:08 +0000)]
(SIZE_MAX): Define after including files, to avoid
a collision on OpenBSD 3.4.
Paul Eggert [Wed, 4 Aug 2004 22:04:26 +0000 (22:04 +0000)]
(print_stat): Don't assume st_ino / st_dev fits in
unsigned long; this isn't true for st_ino on Solaris 9.
Paul Eggert [Wed, 4 Aug 2004 21:58:46 +0000 (21:58 +0000)]
(LONGEST_MODIFIER): New macro.
(PRIuMAX) [!PRI_MACROS_BROKEN && !defined PRIuMAX]: New macro.
(find_matching_ancestor): Use it for dev_t and ino_t.
Paul Eggert [Wed, 4 Aug 2004 20:58:57 +0000 (20:58 +0000)]
Sync from gnulib.
Paul Eggert [Wed, 4 Aug 2004 19:35:24 +0000 (19:35 +0000)]
Work around bug in OpenBSD 3.4 sterror_r: it
sometimes returns a positive errno value even when it succeeds.
(print_errno_message) [!LIBC]: Fall back on strerror if
__strerror_r fails.
Paul Eggert [Wed, 4 Aug 2004 05:59:25 +0000 (05:59 +0000)]
Add uname kludge to work around Mac OS X bug.
Paul Eggert [Wed, 4 Aug 2004 05:58:43 +0000 (05:58 +0000)]
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
Paul Eggert [Tue, 3 Aug 2004 23:40:20 +0000 (23:40 +0000)]
int cleanups for uniq, wc, who, whoami, unexpand, touch, tsort, tty,
test, tac, su, stty, remove.h, tee, ptx, printf, shred, split, stat, pr.
Paul Eggert [Tue, 3 Aug 2004 23:38:40 +0000 (23:38 +0000)]
(main): Print uids using unsigned long int, not unsigned int.
Paul Eggert [Tue, 3 Aug 2004 23:38:21 +0000 (23:38 +0000)]
(scan_entries): 0 -> STDIN_FILENO.
Paul Eggert [Tue, 3 Aug 2004 23:38:10 +0000 (23:38 +0000)]
(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.
Paul Eggert [Tue, 3 Aug 2004 23:37:56 +0000 (23:37 +0000)]
(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.
Paul Eggert [Tue, 3 Aug 2004 23:27:20 +0000 (23:27 +0000)]
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.
Paul Eggert [Tue, 3 Aug 2004 23:14:17 +0000 (23:14 +0000)]
(print_element): Use bool for booleans.
Paul Eggert [Tue, 3 Aug 2004 23:14:08 +0000 (23:14 +0000)]
(silent, main): Use bool for booleans.
(main): 0 -> STDIN_FILENO.
Paul Eggert [Tue, 3 Aug 2004 23:13:20 +0000 (23:13 +0000)]
(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.
Paul Eggert [Tue, 3 Aug 2004 23:13:09 +0000 (23:13 +0000)]
(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.
Paul Eggert [Tue, 3 Aug 2004 23:03:04 +0000 (23:03 +0000)]
(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.
Paul Eggert [Tue, 3 Aug 2004 22:40:28 +0000 (22:40 +0000)]
(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.
Paul Eggert [Tue, 3 Aug 2004 22:40:15 +0000 (22:40 +0000)]
(buf_init_from_stdin, find_bol, tac_mem):
Use bool for booleans.
(buf_init_from_stdin, buf_free, find_bol, print_line):
Use size_t for sizes.
Paul Eggert [Tue, 3 Aug 2004 22:23:25 +0000 (22:23 +0000)]
(run_shell): Pass a new n_additional_args arg, so that
the callee doesn't have to count 'em. All callers changed.
Don't allocate more space for the arg vector than we'll need.
Use memcpy to copy the args rather than rolling our own loop.
Use size_t for sizes.
(fast_startup, simulate_login, change_environment, log_su,
correct_password, restricted_shell, main): Use bool for booleans.
(longopts): Don't assume change_environment is an int.
Use NULL, not 0, for pointers.
(xsetenv): New function, replacing xputenv and concat.
All callers changed.
(elements): Remove; no longer needed.
(log_su, correct_passwd, main): Prefer !x to x==NULL.
(log_su): 2 -> STDERR_FILENO.
(modify_environment, main): Don't assume that getenv's returned value
has an indefinite lifetime.
(modify_environment): Allocate a larger environ.
(main): Remove an impossible 'case 0'; if it happens now, it'll
get diagnosed. Don't assume getpwnam results outlive endpwent.
Check for null or empty pw_name, pw_dir and for null pw_passwd.
Paul Eggert [Tue, 3 Aug 2004 20:30:45 +0000 (20:30 +0000)]
(VA_START): Remove. All callers now use va_start.
(_POSIX_VDISABLE): Remove unnecessary cast.
(struct control_info, visible): Use cc_t for control chars.
(struct control_info): Use size_t for sizes.
(recover_mode, set_mode, display_speed, display_window_size,
valid_options, main, display_changed):
Use bool for booleans.
(integer_arg): Return unsigned long int, not long int.
Accept new max arg; all callers changed, to specify a maximum
value for integer parameters instead of silently overflowing.
(wrap): Do not overrun the stack buffer if the output contains
more than 1024 bytes. Instead, malloc a buffer.
(main): Remove a "what is this?!?" FIXME. Nobody knows what it is.
Remove unnecessary casts.
(set_control_char): Allow int values only up to cc_t range.
(screen_columns): Don't reject INT_MAX.
(display_changed, display_all, display_speed, recover_mode):
Don't assume cc_t fits in int.
Paul Eggert [Tue, 3 Aug 2004 20:06:29 +0000 (20:06 +0000)]
(tee, append, ignore_interrupts, main, tee):
Use bool for booleans.
(tee): Use ssize_t for read returns.
Paul Eggert [Tue, 3 Aug 2004 20:06:17 +0000 (20:06 +0000)]
(have_read_stdin, bsd_sum_file, sysv_sum_file,
main): Use bool for booleans.
(main): Don't dump core if invoked with argv[0]==NULL.