7512 lines
284 KiB
Plaintext
7512 lines
284 KiB
Plaintext
2004-08-11 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* tests/install/basic-1: Test for the -d regression.
|
|
|
|
2004-08-11 Dmitry V. Levin <ldv@altlinux.org>
|
|
|
|
* src/install.c (main): Fix -d regression introduced with
|
|
--target-directory support at 2004-06-25.
|
|
|
|
2004-08-11 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/copy.c (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. Problem
|
|
reported by Tim Waugh in:
|
|
http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00053.html
|
|
|
|
2004-08-10 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Convert all files to UTF-8.
|
|
* tests/fmt/basic (8-bit-pfx): Use UTF-8, not Latin-1.
|
|
* tests/sort/Test.pm (16a): Likewise.
|
|
* tests/uniq/Test.pm (8): Likewise.
|
|
* tests/misc/printf-hex: Use ASCII, not Latin-1.
|
|
|
|
* NEWS: Document "sort -o -" and "tee -" POSIX-conformance fixes.
|
|
* src/shred.c (usage): "-" is an operand, not an option.
|
|
* src/sort.c (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.
|
|
* src/tee.c (usage, tee): "tee -" writes to standard output, not
|
|
to a file named "-".
|
|
|
|
2004-08-10 Dmitry V. Levin <ldv@altlinux.org>
|
|
|
|
* src/install.c (change_timestamps): Fix int->bool conversion
|
|
bugs introduced on 2004-07-29.
|
|
|
|
2004-08-09 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/shred.c (wipename): Work even if the directory is writeable
|
|
and not readable. Prefer write access, since this should work
|
|
better with fdatasync.
|
|
|
|
* src/csplit.c (xalloc_die): New function.
|
|
(main): Remove now-obsolete initialization of xalloc_fail_func.
|
|
|
|
* src/md5sum.c: Adjust to sha->sha1 renaming.
|
|
|
|
2004-08-08 Dmitry V. Levin <ldv@altlinux.org>
|
|
|
|
Minor code cleanup.
|
|
* src/readlink.c (canonicalize_fname): Remove unneeded proxy function.
|
|
(can_mode): Make variable local.
|
|
|
|
2004-08-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/system.h (O_BINARY) [!O_BINARY && defined O_BINARY]:
|
|
Do not define, to avoid annoying compiler messages on QNX 6.3.
|
|
Problem reported by Johan in:
|
|
http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00050.html
|
|
|
|
2004-08-04 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/system.h (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.
|
|
|
|
* src/stat.c (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-03 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/uname.c: 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
|
|
|
|
* src/uniq.c (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.
|
|
* src/wc.c (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.
|
|
* src/who.c (scan_entries): 0 -> STDIN_FILENO.
|
|
* src/whoami.c (main): Print uids using unsigned long int, not
|
|
unsigned int.
|
|
|
|
* src/unexpand.c: 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.
|
|
|
|
* src/touch.c (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.
|
|
* src/tsort.c (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.
|
|
* src/tty.c (silent, main): Use bool for booleans.
|
|
(main): 0 -> STDIN_FILENO.
|
|
* src/uname.c (print_element): Use bool for booleans.
|
|
|
|
* src/test.c (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.
|
|
|
|
* src/tac-pipe.c (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.
|
|
* src/tac.c (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.
|
|
|
|
* src/su.c (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.
|
|
|
|
* src/stty.c (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.
|
|
|
|
* src/remove.h: Add copyright notice.
|
|
(struct rm_options): Use bool for booleans.
|
|
* src/rmdir.c (empty_paths, ignore_fail_on_non_empty, verbose,
|
|
errno_rmdir_non_empty, remove_parents, main): Likewise.
|
|
* src/sum.c (have_read_stdin, bsd_sum_file, sysv_sum_file,
|
|
main): Likewise.
|
|
(main): Don't dump core if invoked with argv[0]==NULL.
|
|
* src/tee.c (tee, append, ignore_interrupts, main, tee):
|
|
Use bool for booleans.
|
|
(tee): Use ssize_t for read returns.
|
|
|
|
* src/ptx.c: Add a FIXME mentioning that there are many
|
|
unchecked integer overflows in this file.
|
|
(gnu_extensions, auto_reference, input_reference, right_reference,
|
|
ignore_case, initialize_regex, fix_output_parameters,
|
|
output_one_roff_line, output_one_text_line, output_one_dumb_line, main):
|
|
Use bool for booleans.
|
|
(SKIP_SOMETHING, compare_words, digest_break_file,
|
|
find_occurs_in_text, fix_output_parameters):
|
|
Use to_uchar instead of a caset.
|
|
(print_field): Rewrite to avoid cast.
|
|
|
|
* src/printf.c (posixly_correct): Use bool for booleans.
|
|
(verify, main): Use EXIT_FAILURE/EXIT_SUCCESS instead of 1/0.
|
|
(STRTOX): Rewrite to avoid casts.
|
|
(print_esc_char): Arg is char, not int.
|
|
* src/readlink.c (canonicalize): Remove. All uses now merely inspect
|
|
can_mode.
|
|
(no_newline, verbose): Use bool for booleans.
|
|
(can_mode): Now of type int; use -1 to denote otherwise-uninitialized.
|
|
* src/shred.c (struct Options, main): Use bool for booleans.
|
|
(isaac_seed_data, fillpattern, wipefile): Rewrite to avoid casts.
|
|
* src/split.c (cwrite, bytes_split, lines_split, line_bytes_split):
|
|
Use bool for booleans.
|
|
* src/stat.c (G_fail): Remove.
|
|
(print_statfs): Print various gotta-be-nonnegative values using
|
|
unsigned long int, not long int or int.
|
|
(do_statfs, do_stat): Return a boolean success flag.
|
|
(do_stat, main): Use bool for booleans.
|
|
|
|
* src/pr.c: Add a FIXME mentioning that there are many
|
|
unchecked integer overflows in this file.
|
|
(TRUE, FALSE): Remove. All uses replaced by true and false.
|
|
(struct COLUMN, read_line, print_page, print_stored, open_file,
|
|
skip_to_page, init_fps, parallel_files, align_empty_cols,
|
|
empty_line, FF_only, explicit_columns, extremities, keep_FF,
|
|
print_a_FF, print_a_header, use_form_feed, have_read_stdin,
|
|
print_across_flag, storing_columns, balance_columns,
|
|
truncate_lines, join_lines, untabify_input, failed_opens,
|
|
numbered_lines, skip_count, use_esc_sequence, use_cntrl_prefix,
|
|
double_space, ignore_failed_opens, use_col_separator,
|
|
pad_vertically, last_line, main, init_parameters, skip_read,
|
|
read_line, print_stored):
|
|
Use bool for booleans.
|
|
(struct COLUMN, char_to_clump, store_char, print_char):
|
|
Use char for chars.
|
|
(clump_buff, print_clump): Use char[], not int[], for an array whose
|
|
elements are always chars.
|
|
(first_last_page, main, getoptarg, balance, add_line_number,
|
|
char_to_uclump): Remove unnecessary casts.
|
|
(init_parameters): Allocate chars, not ints, for clump_buff.
|
|
(print_char): Use to_uchar before invoking ISPRINT.
|
|
(char_to_clump): Convert to unsigned char before invoking ISPRINT.
|
|
|
|
* src/nohup.c (main): Use bool for booleans.
|
|
* src/paste.c (paste_parallel, paste_serial, main): Likewise.
|
|
* src/pathchk.c (validate-path, main, portable_chars_only): Likewise.
|
|
(portable_chars_only): Use to_uchar rather than a cast.
|
|
* src/printenv.c (main): Use bool for booleans.
|
|
Do not assume that the environ has at most one matching entry
|
|
for each option (integer overflow was possible otherwise).
|
|
|
|
* src/od.c (FMT_BYTES_ALLOCATED): Now an enum, not a decimal
|
|
constant. Do not assume PRIdMAX etc. are strings of length 3 or
|
|
less.
|
|
(struct tspec): Use it. fmt_string is now an array, not
|
|
a pointer, as there's little point to the indirection here.
|
|
(struct tspec, flag_dump_strings,
|
|
traditional, flag_pseudo_start, limit_bytes_to_format,
|
|
abbreviate_duplicate_blocks, have_read_stdin, simple_strtoul,
|
|
decode_one_format, open_next_file, check_and_close,
|
|
decode_format_string, skip, write_block, read_char, read_block,
|
|
parse_old_offset, dump, dump_strings, main):
|
|
Use bool for booleans.
|
|
(struct tspec): Use void *, not char *, for generic pointers.
|
|
(bytes_to_oct_digits, bytes_to_signed_dec_digits,
|
|
bytes_to_unsigned_dec_digits, bytes_to_hex_digits):
|
|
Use char, not unsigned int, since char suffices.
|
|
(print_s_char, print_char, print_s_short, print_short,
|
|
print_int, print_long, print_long_long, print_float,
|
|
print_double, print_long_double): Rewrite to avoid casts.
|
|
These now take void * arguments, instead of char *.
|
|
Use the same body for all functions, except for the choice
|
|
of type. Assume C89 to simplify handling of signed char.
|
|
(dump_hexl_mode_trailer, print_named_ascii, print_ascii):
|
|
Rewrite to avoid casts.
|
|
(print_named_ascii, print_ascii): Now takes void *, not char *.
|
|
(decode_one_format): Use int for printf field widths, not
|
|
unsigned int. Pass void * to subsidiary printers,
|
|
not char *. Simplify handling of floating-point formats
|
|
by factoring out common code dealing with precision and field width.
|
|
(decode_format_string): Avoid need for temporary copy of
|
|
each decoded struct tspec.
|
|
(get_lcm): Remove unnecessary cast.
|
|
(main): Fix bug where more than INT_MAX failed decodes were ignored.
|
|
|
|
2004-08-02 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/nl.c (TRUE, FALSE): Remove; all uses changed to true, false.
|
|
(enum number_format): Remove.
|
|
(FORMAT_RIGHT_NOLZ, FORMAT_RIGHT_LZ, FORMAT_LEFT): Now strings,
|
|
not enum values.
|
|
(DEFAULT_SECTION_DELIMITERS): Now an array constant, not a macro.
|
|
(section_del): Now const.
|
|
(print_fmt): Remove.
|
|
(starting_line_number, page_incr, blank_join, line_no,
|
|
print_lineno, proc_text, main):
|
|
Use intmax_t for line numbers.
|
|
(reset_numbers, have_read_stdin, build_type_arg, nl_file, main):
|
|
Use bool for booleans.
|
|
(lineno_format): Now a string, not an enum value.
|
|
(build_print_fmt): Remove. All calls removed. This work is
|
|
now done within print_lineno.
|
|
(build_type_arg): Use size_t for sizes.
|
|
(print_lineno): Check for line number overflow.
|
|
(proc_text, main): Remove unnecessary cast.
|
|
|
|
* src/ln.c (symbolic_link, interactive, remove_existing_files,
|
|
verbose, hard_dir_link, dereference_dest_dir_symlinks,
|
|
do_link, main): Use bool for booleans.
|
|
|
|
* src/ls.c (struct fileinfo, file_interesting,
|
|
extract_dirs_from_files, color_symlink_as_referent,
|
|
FILE_OR_LINK_MODE, sort_reverse, print_owner, print_group,
|
|
numeric_ids, print_block_size, dired, print_with_color,
|
|
check_symlink_color, print_inode, recursive, immediate_dirs,
|
|
all_files, really_all_files, qmark_funny_chars,
|
|
print_dir_name, format_needs_stat, format_needs_type, visit_dir,
|
|
main, decode_switches, parse_ls_color, print_dir, file_interesting,
|
|
gobble_file, make_link_path, basename_is_dot_or_dotdot,
|
|
extract_dirs_from_files, print_long_format):
|
|
Use bool for booleans.
|
|
(dir_defaulted): Remove; no longer needed.
|
|
(main): Use int to count files, since it suffices for argv.
|
|
Rewrite to avoid need for dir_defaulted.
|
|
(main, print_dir, gobble_file, get_link_name,
|
|
xstrcoll):
|
|
Set exit status to EXIT_SUCCES/EXIT_FAILURE rather than 0/1.
|
|
(decode_switches): Put back check for ws.ws_col <= SIZE_MAX.
|
|
Remove unnecessary cast to int. Use int instead of unsigned
|
|
int to count from 0 to 1.
|
|
(get_funky_string, print_type_indicator): Use char for bytes, not int.
|
|
(make_link_path): Use NULL for null pointers.
|
|
(quote_name): Use to_uchar instead of cast.
|
|
|
|
* src/id.c (use_name, main, print_user, xgetgroups, print_group_list,
|
|
print_full_info): Use bool for booleans.
|
|
(problems): Remove, replacing with....
|
|
(ok): New var (inverted from old sense).
|
|
(print_user, print_group, print_full_info):
|
|
Print uids/gids with %lu, not %u.
|
|
(xgetgroups): Don't run out of memory if getgroups or getugroups
|
|
returns -1.
|
|
* src/setuidgid.c (main): Print uids/gids with %lu, not %ld.
|
|
|
|
* src/factor.c (wheel_tab): Use unsigned char instead of unsigned
|
|
int, since it suffices.
|
|
(factor, print_factors): Use size_t for sizes.
|
|
(print_factors, do_stdin, main): Use bool for booleans.
|
|
* src/fold.c (TAB_WIDTH): New macro; use it instead of "8".
|
|
(fold_file, main): Use bool for booleans.
|
|
(fold_file, main): Use size_t for sizes.
|
|
(main): Allow -w options up to SIZE_MAX - TAB_WIDTH - 1, instead
|
|
of prohibiting widths greater than INT_MAX.
|
|
* src/head.c (presume_input_pipe, print_headers, have_read_stdin,
|
|
write_header, elide_tail_bytes_pipe, elide_tail_bytes_file,
|
|
elide_tail_lines_pipe, elide_tail_lines_seekable,
|
|
elide_tail_lines_file, head_bytes, head_lines, head, head_file,
|
|
string_to_integer, main):
|
|
Use bool for booleans.
|
|
(main): Rewrite to avoid cast.
|
|
|
|
* src/csplit.c (struct line): Use size_t for sizes.
|
|
(main): Remove unnecessary cast.
|
|
* src/cut.c (cut_fields): Use to_uchar rather than a cast.
|
|
* src/cut.c (cut_file, main): Use bool for booleans.
|
|
* src/date.c (show_date, rfc_format, batch_convert, main): Likewise.
|
|
* src/env.c (main): Likewise.
|
|
* src/expr.c (nextarg): Likewise.
|
|
* src/env.c (main): Remove unused and nonstandard envp arg.
|
|
|
|
* src/fmt.c (COST, MAXWORDS): Add a comment describing some of
|
|
fmt's arbitrary limits.
|
|
(TRUE, FALSE): Remove; all uses changed to (true, false).
|
|
(main): Use bool for booleans.
|
|
Limit maximum width to MAXCHARS / 2. Use xstrtoul, not xstrtol,
|
|
to parse width.
|
|
(copy_rest): Remove unnecessary cast.
|
|
(get_prefix): Rewrite to avoid cast.
|
|
(check_punctuation): Use char *, not unsigned char *; C89 requires
|
|
this. Avoid off-by-one buffer read overrun when line is empty.
|
|
(flush_paragraph): Don't assume wptr-parabuf is <= INT_MAX.
|
|
Remove unnecessary casts.
|
|
* tests/fmt/basic (wide-1, wide-2, bad-suffix): Adjust to above
|
|
changes.
|
|
|
|
* src/expand.c (convert_entire_line, have_read_stdin, parse_tabstops,
|
|
next_file, expand, main):
|
|
Use bool for booleans.
|
|
(tab_size, tab_list, add_tabstop, parse_tabstops, validate_tabstops,
|
|
expand, main):
|
|
Use uintmax_t for column counts.
|
|
(add_tabstop): Don't reserve -1 (now UINTMAX_MAX) as a special value.
|
|
All callers changed.
|
|
(parse_tabstops): Don't pass a negative char to isblank.
|
|
Avoid memory leak with large tab stops.
|
|
(validate_tabstops, expand): Don't assume number of tab stops is
|
|
<= INT_MAX.
|
|
(next_file, main): Use EXIT_SUCCESS/EXIT_FAILURE rather than 0/1 when
|
|
storing values into exit_status.
|
|
(expand): Use same pattern as unexpand for reading chars.
|
|
Report an error when input line is too long, instead of silently
|
|
screwing up. Do not mishandle tab stops when backspacing left
|
|
over start of line.
|
|
|
|
* src/dircolors.c (have_read_stdin, append_quoted,
|
|
dc_parse_stream, dc_parse_file, main): Use bool for booleans.
|
|
(dc_parse_stream): Use enum for state, rather than int.
|
|
Use ssize_t to store getline result.
|
|
|
|
* src/dd.c (translation_needed, parse_integer, scanargs,
|
|
apply_translations, char_is_saved, swab_buffer, skip_via_lseek):
|
|
Use bool for booleans.
|
|
(translate_buffer): Use to_uchar rather than a cast.
|
|
(swab_buffer, copy_simple, copy_with_unblock):
|
|
Use size_t for sizes.
|
|
|
|
* src/seq.c (equal_width, valid_format, main): Use bool for booleans.
|
|
* src/sleep.c (apply_suffix): Likewise.
|
|
* src/tail.c (struct File_spec, reopen_inaccessible_files, count_lines,
|
|
forever, from_start, print_headers, have_read_stdin, valid_file_spec,
|
|
write_header, file_lines, pipe_lines, pipe_bytes, recheck,
|
|
tail_forever, tail_bytes, tail_lines, tail, tail_file,
|
|
parse_obsolescent_option, parse_options, main): Likewise.
|
|
* src/sleep.c (apply_suffix): Invert sense of result.
|
|
Use int (not unsigned int) for multiplier, as this generates better
|
|
code with some compilers. Simplify code a bit.
|
|
* src/tail.c (struct File_spec, max_n_unchanged_stats_between_opens,
|
|
parse_options): Use uintmax_t, not unsigned int or unsigned long int,
|
|
for state counters.
|
|
(tail_bytes, tail_lines): Redo test of return value (-1, 0, 1) to
|
|
make it a bit clearer.
|
|
|
|
* src/hostname.c: Include "xgethostname.h".
|
|
(xgethostname): Remove decl; xgethostname.h has it.
|
|
(sethostname) [!defined(HAVE_SETHOSTNAME) && defined(HAVE_SYSINFO)
|
|
&& defined (HAVE_SYS_SYSTEMINFO_H) && defined(HAVE_LIMITS_H)]: Use
|
|
prototypes rather than K&R form. Assume any negative value from
|
|
sysinfo denotes failure, not just -1.
|
|
(main): Simplify use of sethostname.
|
|
|
|
* src/pinky.c (include_idle, include_heading, include_fullname,
|
|
include_project, include_plan, include_home_and_shell, do_short_format,
|
|
include_where, main): Use bool for booleans.
|
|
(count_ampersands, create_fullname, scan_entries, short_pinky):
|
|
Use size_t for sizes.
|
|
(create_fullname): Check for overflow in size calculations.
|
|
(idle_string): Don't assume that the number of idle days
|
|
is less than 10**8 and/or INT_MAX/(24*60*60).
|
|
(main): No need to pass a non-NULL last arg to getopt_long.
|
|
* src/uptime.c (print_uptime, uptime): Use size_t for sizes.
|
|
(print_uptime): Remove unused local variable.
|
|
(main): No need to pass a non-NULL last arg to getopt_long.
|
|
* src/users.c (list_entries_users, users): Use size_t for sizes.
|
|
(list_entries_users): Use char for bytes.
|
|
(main): No need to pass a non-NULL last arg to getopt_long.
|
|
* src/who.c (do_lookup, short_list, short_output, include_idle,
|
|
include_heading, include_mesg, include_exit, need_boottime,
|
|
need_deadprocs, need_login, need_initspawn, need_clockchange,
|
|
need_runlevel, need_users, my_line_only, main): Use bool for booleans.
|
|
(print_runlevel): Use unsigned char for bytes.
|
|
(list_entries_who, scan_entries, who): Use size_t for sizes.
|
|
(main): No need to pass a non-NULL last arg to getopt_long.
|
|
|
|
* src/install.c (isdir): Remove decl.
|
|
(install_file_to_path): Rely on make_path to fail if the destination
|
|
is not a directory, by passing preserve_existing==true to it.
|
|
Hence we no longer need to call isdir.
|
|
Free dest_dir immediately when it's no longer needed, rather than
|
|
waiting until the end of the function.
|
|
(copy_file): Don't bother calling isdir, as copy will do the
|
|
right thing if the destination is a directory.
|
|
|
|
* src/du.c (fts_debug, opt_all, apparent_size, opt_count_all,
|
|
print_grand_total, opt_separate_dirs, hash_ins, process_file, main):
|
|
Use bool for booleans.
|
|
(max_depth): Now size_t, not int, to avoid an arbitrary limit
|
|
of INT_MAX on depth.
|
|
(G_fail): Remove: no longer needed, now that the relevant
|
|
functions return bool.
|
|
(process_file): Use return value to signal success rather than
|
|
setting a global. Remove first_call static var; not needed, since
|
|
we can look at n_alloc. Use size_t for depths. Remove FIXME
|
|
about size_t casts, as it's now fixed. Use xnrealloc rather
|
|
than the obsolescent XREALLOC. Don't bother to check whether
|
|
reallocation is needed unless level > prev_level.
|
|
(du_files): Invert sense of result, for consistency with
|
|
other coreutils code. All callers changed.
|
|
(main): Allow --max-depth values up to SIZE_MAX.
|
|
|
|
* src/df.c (inode_format, show_all_fs, show_local_fs,
|
|
show_listed_fs, posix_format, require_sync, print_type,
|
|
selected_fstype, excluded_fstype, show_dev, show_point, main):
|
|
Use bool for booleans.
|
|
(df_readable, show_dev): Use UINTMAX_MAX instead of -1.
|
|
(show_dev, show_point, main):
|
|
Use EXIT_SUCCESS/EXIT_FAILURE instead of 0/1.
|
|
Don't assume disk name lengths are <= INT_MAX.
|
|
Rewrite pct calculation to avoid cast.
|
|
(show_point): Don't assume resolved length is <= SSIZE_MAX.
|
|
|
|
* src/cut.c (hash_int) [!defined UINTPTR_MAX]: Use size_t
|
|
instead of uintptr_t.
|
|
* src/shred.c (UINT_MAX_32_BITS): Remove.
|
|
(word32): Remove. All uses changed to uint32_t.
|
|
(isaac_seed_data): Remove unnecessary cast.
|
|
* src/system.h (ptr_align): Use size_t; in practice, this is just as
|
|
good as uintptr_t in checking for alignments, and has fewer
|
|
configuration hassles.
|
|
|
|
* src/Makefile.am (localedir.h): Make it readonly; this
|
|
undoes part of the 2004-07-27 patch.
|
|
|
|
2004-07-30 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/sort.c (UCHAR): Remove; all uses changed to to_uchar.
|
|
(IS_THOUSANDS_SEP): Use bool when appropriate.
|
|
(numcompare, main): Use char, not int, when the value is always a char.
|
|
(numcompare): Remove "register"; compilers are smart enough these days.
|
|
* src/system.h (errno, CHAR_BIT): Remove decls;
|
|
no longer needed now we assume C89 or better.
|
|
Include <inttypes.h> before <stdint.h>, as it's the
|
|
Autoconf-recommended pattern.
|
|
(to_uchar): New inline function, moved here from tr.c.
|
|
Use full names for int types, e.g. "long int" rather than "long".
|
|
* src/tr.c (to_uchar): Remove; now in system.h.
|
|
(is_char_class_member): Use bool when appropriate.
|
|
|
|
* src/mkdir.c (create_parents, main): Use bool when appropriate.
|
|
(main): Use EXIT_SUCCESS/EXIT_FAILURE instead of 0/1.
|
|
|
|
2004-07-29 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/mkfifo.c (main): Use EXIT_SUCCESS and EXIT_FAILURE, not 0 and 1.
|
|
|
|
* src/chmod.c (recurse, force_silent, process_file, process_files,
|
|
main): Use bool when appropriate.
|
|
* src/cksum.c (cksum, main): Likewise.
|
|
* src/comm.c (hard_LC_COLLATE, only_file_1, only_file_2, both,
|
|
compare_files, main): Likewise.
|
|
|
|
* src/copy.h (struct cp_options): Likewise.
|
|
* src/copy.c (copy_internal, is_ancestor, copy_dir, copy_reg,
|
|
same_file_ok, seen_file, copy_internal, valid_options, copy): Likewise.
|
|
* src/cp-hash.h (remember_created): Likewise.
|
|
* src/cp-hash.c (remember_created): Likewise.
|
|
* src/cp.c (struct dir_attr, flag_path, remove_trailing_slashes,
|
|
re_protect, make_path_private, target_directory_operand, do_copy,
|
|
cp_option_init, decode_preserve_arg, main): Likewise.
|
|
* src/install.c (isdir, change_timestamps, change_attributes,
|
|
copy_file, install_file_to_path, install_file_in_dir,
|
|
install_file_in_file, strip_files, dir_arg, cp_option_init, main,
|
|
change_attributes, change_timestamps): Likewise.
|
|
* src/mv.c (remove_trailing_slashes, rm_option_init,
|
|
cp_option_init, do_move, movefile, main): Likewise.
|
|
* src/remove.c (right_justify), full_filename_, AD_pop_and_chdir,
|
|
AD_push, prompt, remove_dir): Likewise.
|
|
* src/rm.c (rm_option_init, main): Likewise.
|
|
|
|
* src/remove.c (top_dir, pop_dir, full_filename_):
|
|
Use size_t for sizes.
|
|
* src/cp.c (target_directory_operand): Do not clear *NEW_DST if stat
|
|
succeeds. It's not necessary in that case, as *NEW_DST is always
|
|
false already.
|
|
(do_copy): Rewrite slightly to avoid need for "unreachable" comment.
|
|
(main): Use EXIT_SUCCESS, EXIT_FAILURE instead of 0, 1.
|
|
* src/rm.c (main): Likewise.
|
|
|
|
md5sum, sha1sum integer cleanups.
|
|
|
|
* src/checksum.h: Don't include config.h, sys/types.h, stdio.h:
|
|
not needed.
|
|
(ALG_UNSPECIFIED): Remove.
|
|
(ALG_MDT): Don't make it equal to CHAR_MAX + 1; this isn't necessary.
|
|
* src/md5.c: Don't include any files other than checksum.h.
|
|
* src/sha1sum.c: Likewise.
|
|
* src/md5sum.c (OPENOPTS, have_read_stdin, status_only, warn,
|
|
bsd_split_3, split_3, hex_digits, digest_file, digest_check, main):
|
|
Use bool when appropriate.
|
|
(digest_check): Increase limit of number of input lines to
|
|
UINTMAX_MAX from INT_MAX. Diagnose any overflows of this counter.
|
|
Use ngettext instead of hard-to-i18nize hardcoded stuff for plurals.
|
|
|
|
2004-07-28 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/cat.c (exit_status): Remove. Now done by passing a boolean
|
|
'ok' flag around.
|
|
(simple_cat, cat): Return true if successful. All callers changed.
|
|
(simple_cat, cat, main): Use bool for booleans.
|
|
(simple_cat): Use size_t for sizes.
|
|
(cat, main): Use the same names for parameters that we use for
|
|
long options, to avoid confusion. This inverts the sense of the
|
|
show_tabs (formerly output_tabs) and number_nonblank
|
|
(formerly numbers_at_empty_lines) variables.
|
|
(main): Don't mess up (due to integer overflow) if we are given
|
|
INT_MAX - INT_MIN + 1 options.
|
|
[O_BINARY]: Don't invoke isatty unless the other options require it.
|
|
(main): When deciding whether to use simple_cat, don't worry
|
|
about binary option; it's irrelevant.
|
|
|
|
* src/dcgen: Remove comments, trailing white space, and empty
|
|
lines from the output strings, to save space.
|
|
Use a narrower type like 'unsigned char' for line lengths, if
|
|
that will do.
|
|
Make the output variables static, not extern.
|
|
|
|
* src/chgrp.c (parse_group): Require base 10 when parsing
|
|
groups as integers.
|
|
(main): int -> bool when appropriate.
|
|
* src/chown.c (main): Likewise.
|
|
* src/chown-core.c: Include inttostr.h.
|
|
(UINT_MAX_DECIMAL_DIGITS, uint_to_string): Remove.
|
|
(gid_to_name, uid_to_name): Use imaxtostr/umaxtostr
|
|
instead of uint_to_string).
|
|
(describe_change): Instead of an int flag, use a char *
|
|
auxiliary; this avoids the need for casts.
|
|
Assume free (NULL) works.
|
|
(change_file_owner): Return true/false, not 0/-1, since
|
|
we don't set errno. All callers changed.
|
|
Use bool when appropriate.
|
|
(chown_files): Likewise.
|
|
* src/chown-core.h (chown_files): Likewise.
|
|
|
|
* tests/chown/basic: Test for proper handling of uids like
|
|
"010", which must be parsed as decimal.
|
|
|
|
* tests/misc/pwd: Don't assume that Perl's getpwd agrees with our
|
|
pwd when there are multiple names for the working directory
|
|
(which can happen with an automounter, sigh).
|
|
|
|
* src/Makefile.am ($(SCRIPTS)): Don't depend on Makefile;
|
|
this causes Solaris 8 'make' to refuse to build "groups".
|
|
(localedir.h): Don't depend on Makefile: this causes Solaris
|
|
8 'make' to build localedir.h unnecessarily. The dependence
|
|
on Makefile is ineffective anyway, since $(localedir) might
|
|
change even if Makefile hasn't.
|
|
|
|
* src/remove.c (remove_dir): If we can't save the state of the
|
|
working directory, pretend we started from "/", not ".".
|
|
This avoids a bug on hosts like Solaris that don't let you
|
|
remove the working directory.
|
|
|
|
2004-07-27 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/printf.c (strtiomax, strtoumax): Declare if not already
|
|
declared: this fixes a portability bug with Solaris 8 + GCC.
|
|
(STRTOX): Parenthesize use of macro arg as expression.
|
|
(vstrtoimax, vstrtoumax, vstrtold): Remove now-unnecessary
|
|
parentheses.
|
|
* configure.ac: Check for declaration of strtoumax, for
|
|
src/printf.c.
|
|
|
|
* src/Makefile.am (cp_LDADD, ginstall_LDADD, mv_LDADD,
|
|
pathchk_LDADD, rm_LDADD, test_LDADD): New vars, for eaccess.
|
|
|
|
* tests/readlink/can-e: Don't assume that we can remove the
|
|
working directory: this isn't possible under Solaris 8, say.
|
|
* tests/readlink/can-f: Likewise.
|
|
* tests/readlink/can-m: Likewise.
|
|
|
|
* src/copy.c (copy_internal): find_backup_file_name no longer
|
|
returns NULL, so don't bother to check for this.
|
|
* src/cp.c (do_copy): Likewise.
|
|
* src/ln.c (do_link): Likewise.
|
|
|
|
2004-07-25 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/nice.c (GET_NICE_VALUE): Renamed from GET_PRIORITY.
|
|
All uses changed.
|
|
(NZERO): New macro, if system doesn't define it already.
|
|
(usage): Distinguish priorities from nice values.
|
|
Don't assume NZERO is 20.
|
|
(main): Use bool instead of int where appropriate.
|
|
If user specifies an adjustment out of range, always truncate it
|
|
to an inrange value instead of sometimes giving an error message
|
|
and sometimes not.
|
|
Do not assume that -1 is an error return from "nice" or
|
|
"getpriority", as it might be the current nice value minus NZERO.
|
|
If nice/setpriority fails with errno == EPERM, go ahead and run
|
|
the command anyway; POSIX requires this.
|
|
|
|
* src/pathchk.c: Include euidaccess.h.
|
|
(dir_ok): Use euidaccess, not access.
|
|
* src/test.c (R_OK, W_OK, X_OK, FOK): Remove; system.h defines them.
|
|
(eaccess): Remove. All users changed to use euidaccess instead.
|
|
|
|
2004-07-24 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/uptime.c (print_uptime) [defined BOOT_MSG]:
|
|
Don't assume ut_line is null-terminated.
|
|
* src/who.c (print_line): New arguments USERLEN and LINELEN,
|
|
since USER and LINE might not be null terminated. All callers
|
|
changed.
|
|
|
|
2004-07-23 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix bug with "tail -f" reported by Rob Holland in
|
|
<http://lists.gnu.org/archive/html/bug-coreutils/2004-07/msg00054.html>.
|
|
Also, remove the undocumented and unsupported-since-2000
|
|
--max-consecutive-size-changes options. Fix another related bug:
|
|
"tail" got confused if stdin, stdout, or stderr were closed.
|
|
Also, use output buffering even with "tail -f".
|
|
|
|
* NEWS: Document this, plus yesterday's patch.
|
|
* doc/coreutils.texi (tail invocation): "size has remained the same"
|
|
-> "file has not changed", which is more accurate for fifos.
|
|
* src/tail.c: Include fcntl-safer.h.
|
|
(COPY_TO_EOF): Set to UINTMAX_MAX, not OFF_T_MAX (which was wrong).
|
|
(COPY_A_BUFFER): New macro.
|
|
(struct File_spec): New members mtime, mode, blocking.
|
|
Remove member n_consecutive_size_changes.
|
|
(DEFAULT_MAX_N_CONSECUTIVE_SIZE_CHANGES,
|
|
max_n_consecutive_size_changes_between_opens,
|
|
MAX_CONSECUTIVE_SIZE_CHANGES_OPTION): Remove.
|
|
(long_options, tail_forever, parse_options):
|
|
Remove (non-)support for --max-consecutive-size-changes.
|
|
(record_open_fd): New function.
|
|
(recheck, tail_file): Use it. Don't assume that stdin is open.
|
|
(dump_remainder): Add support for new COPY_A_BUFFER special value.
|
|
Treat errno==EAGAIN like EOF, since it might be a nonblocking read.
|
|
(recheck): New arg BLOCKING, specifying whether to use blocking reads.
|
|
All uses changed.
|
|
(n_live_files): Remove, replacing with...
|
|
(any_live_files): New function. All uses changed.
|
|
(tail_forever): Use nonblocking I/O unless we know that blocking I/O
|
|
is safe; this avoids some hangs when reading from a fifo.
|
|
Avoid invoking fstat or sleep when using blocking I/O.
|
|
Do not check for changes to size if the file is not a regular file,
|
|
as the size is undefined in that case.
|
|
Check for changes to mtime or mode, too; this works for non-regular
|
|
files.
|
|
(tail_forever, main): Redo fflush strategy to work even when input
|
|
is nonblocking. Don't use unbuffered output; just flush when needed.
|
|
|
|
2004-07-22 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/tail.c (main): Ignore -f if no file operand is specified
|
|
and standard input is a pipe.
|
|
* doc/coreutils.texi (tail invocation): Do not ignore -f for
|
|
all pipes, just for when standard input is a pipe and no
|
|
file operand is specified.
|
|
* tests/tail/Test.pm: Reinstate f-1 test, since we now pass.
|
|
Add a new commented-out f-2 test, which we still fail.
|
|
(test_vector): All f-* tests are special cases, not just f-1.
|
|
|
|
2004-07-12 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/uptime.c: Include c-strtod.h.
|
|
(print_uptime): Use c_strtod instead of setlocale and sscanf.
|
|
Use long int rather than int to count days (for 64-bit hosts),
|
|
and check for arithmetic overflow when converting double to time_t.
|
|
|
|
2004-07-11 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/printf.c (vstrtold): Renamed from vstrtod.
|
|
Now returns long double. All uses changed.
|
|
(print_direc): Use "L" length modifier when printing floating point
|
|
numbers, since we're now printing long double.
|
|
|
|
2004-07-06 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* Version 5.3.0.
|
|
|
|
printf cleanup, to avoid undefined behavior, to add support for
|
|
formats that Bash supports, and to support wide integers like
|
|
Bash does.
|
|
|
|
* NEWS: Document this.
|
|
* src/printf.c (UNSPECIFIED): Remove. All uses now replaced by
|
|
booleans, so that we don't reserve any values for precision or
|
|
width (like Bash).
|
|
(STRTOX): Use prototype, not K&R-style definition.
|
|
(vstrtoimax): Renamed from xstrtol (to avoid confusion with xstrtol
|
|
in ../lib), with type change to intmax_t.
|
|
All uses changed.
|
|
(vstrtoumax): Renamed from xstrtoul, with type change to uintmax_t.
|
|
All uses changed.
|
|
(vstrtod): Renamed from xstrtod. All uses changed.
|
|
(print_direc): Use boolean arg instead of special value to indicate
|
|
a missing precision or width. LENGTH no longer includes
|
|
length modifiers or conversion character. New arg CONVERSION
|
|
now specifies conversion character.
|
|
Use intmax_t-width formatting for integers (like Bash).
|
|
Add support for C99 %a, %A, %F (like Bash).
|
|
Add support for field width with %c (POSIX requires this).
|
|
Add a FIXME for lack of support for field width and precision
|
|
for %b.
|
|
Add support for '\'', '0' flags.
|
|
Check for invalid combinations of flags, field width, precision,
|
|
and conversion, to prevent use of undefined behavior.
|
|
Allow multiple length modifiers, for formats like "%lld" (like Bash).
|
|
Add support for C99 'j', 't', 'z' length modifiers (like Bash).
|
|
In error message, output entire invalid conversion specification,
|
|
instead of merely outputting % followed by the conversion char.
|
|
* tests/misc/printf: Add tests for the above.
|
|
|
|
2004-04-03 Dmitry V. Levin <ldv@altlinux.org>
|
|
|
|
Change "readlink -f" to be more compatible with prior implementations.
|
|
Add more canonicalize options, -e and -m.
|
|
Add comprehensive tests for all readlink modes.
|
|
|
|
* m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
|
|
Do not add canonicalize.c here.
|
|
|
|
* src/readlink.c (longopts): Add new options.
|
|
(usage): Document them.
|
|
(canonicalize_fname): New proxy function.
|
|
(main): Handle new options.
|
|
* doc/coreutils.texi (readlink invocation): Document new
|
|
"readlink -f" behaviour and new canonicalize options, -e and -m.
|
|
|
|
* configure.ac (AC_CONFIG_FILES): Add tests/readlink/Makefile.
|
|
* tests/Makefile.am (SUBDIRS): Add readlink.
|
|
* tests/readlink/Makefile.am: New file.
|
|
* tests/readlink/{rl-1,can-e,can-f,can-m}: New readlink tests.
|
|
* tests/misc/Makefile.am (TESTS): Remove basic readlink test.
|
|
* tests/misc/readlink: Remove file.
|
|
|
|
2004-07-04 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/copy.c (copy_internal): Add a FIXME comment.
|
|
|
|
2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/copy.c (copy_dir): Assume path_concat returns non-NULL.
|
|
* src/cp.c (do_copy): Likewise.
|
|
* src/mv.c (movefile): Likewise.
|
|
|
|
* src/cp.c (make_path_private): 2nd arg is now size_t, not int,
|
|
to avoid problem when path_concat dir name is longer than 2 GiB (!).
|
|
|
|
* src/nohup.c (main): Don't pass NULL first argument to path_concat.
|
|
This cleans up the semantics a bit, as we no longer try to open the
|
|
same file twice.
|
|
|
|
2004-07-01 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* NEWS: Add short names -t and -T for --target-directory
|
|
and --no-target-directory options, respectively.
|
|
|
|
* src/cp.c (NO_TARGET_DIRECTORY_OPTION, TARGET_DIRECTORY_OPTION):
|
|
Remove. All uses changed to 'T' and 't', respectively.
|
|
* src/install.c, src/ln.c, src/mv.c: Likewise.
|
|
|
|
* src/cp.c (long_opts, usage, do_copy, main): Add -t and -T as
|
|
aliases for --target-directory and --no-target-directory,
|
|
respectively.
|
|
* src/install.c (long_options, main, usage): Likewise.
|
|
* src/ln.c, src/mv.c: Likewise.
|
|
|
|
2004-07-01 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (sc_file_system): New target.
|
|
(syntax-check-rules): Add it.
|
|
.x-sc_file_system: New file.
|
|
* Makefile.am (EXTRA_DIST): Add it.
|
|
|
|
* man/sync.x: Use "file system" rather than "filesystem".
|
|
* man/stat.x, man/df.x: Likewise.
|
|
|
|
2004-06-30 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/df.c (usage, main): Output "file system" rather than
|
|
"filesystem".
|
|
* src/du.c (usage): Likewise.
|
|
* src/shred.c (usage): Likewise.
|
|
* src/stat.c (usage): Likewise.
|
|
* src/stat.c (long_options, usage): Rename "--filesystem" to
|
|
"--file-system". But keep the old name around, for compatibility
|
|
reasons.
|
|
|
|
2004-06-29 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Add support for --no-target-directory option.
|
|
|
|
* NEWS: Document it.
|
|
* doc/coreutils.texi (Common options, Target directory, cp
|
|
invocation, install invocation, mv invocation, ln invocation):
|
|
Likewise.
|
|
(link invocation): Explain how to rewrite link using ln now
|
|
that we have --no-target-directory.
|
|
(ln invocation): Explain that --no-target-directory subsumes
|
|
--no-dereference.
|
|
(unlink invocation): Modify wording to match new wording in
|
|
link invocation.
|
|
|
|
* src/cp.c (NO_TARGET_DIRECTORY_OPTION): New constant.
|
|
(long_opts, usage, do_copy, main): Add support for
|
|
--no-target-directory,
|
|
* src/install.c (NO_TARGET_DIRECTORY_OPTION, long_options, main,
|
|
usage): Likewise.
|
|
* src/ln.c (NO_TARGET_DIRECTORY_OPTION, long_options, usage,
|
|
main): Likewise.
|
|
* src/mv.c (NO_TARGET_DIRECTORY_OPTION, long_options, usage,
|
|
main): Likewise.
|
|
* src/mv.c (enum): Sort values.
|
|
|
|
2004-06-29 Jim Meyering <jim@meyering.net>
|
|
|
|
Don't let verbose-mode output from a subshell obscure actual differences.
|
|
* tests/rm/inaccessible: Turn off command-echoing just before
|
|
invoking subshell, then turn it back on if VERBOSE=yes afterward.
|
|
|
|
2004-06-25 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Add support for 'install --target-directory', an option
|
|
that has been documented for years but not implemented (!).
|
|
* doc/coreutils.texi (install invocation): Document
|
|
--target-directory in synopsis, too.
|
|
* src/install.c (TARGET_DIRECTORY_OPTION): New var.
|
|
(long_options, main, usage): Add --target-directory.
|
|
(target_directory_operand): New function, stolen from mv.c.
|
|
(main): Use it. Check for -d and --target-directory.
|
|
Alter wording of diagnostics to match other programs.
|
|
|
|
2004-06-28 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/cp.c (usage): Fix copy+paste error in description of
|
|
--target-directory: s/move/copy/. From Paul Jarc.
|
|
|
|
2004-06-27 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Use more-consistent rules among cp, ln, and mv when dealing with
|
|
last operands that are (or look like) directories.
|
|
|
|
* src/cp.c (target_directory_operand): New, nearly-common function,
|
|
It reports an error if the destination appears to be a directory
|
|
(e.g., because it has a trailing slash) but is not.
|
|
* src/ln.c, src/mv.c: Likewise.
|
|
* src/cp.c (do_copy): Use it.
|
|
* src/ln.c (main): Likewise.
|
|
* src/mv.c (main): Likewise.
|
|
|
|
* src/cp.c (do_copy): Don't assume argc is positive.
|
|
Don't bother to lstat dest, since copy() will do that for us.
|
|
Use "const" to avoid the need for cast.
|
|
|
|
* src/cp.c (do_copy): Don't output a usage message because of file
|
|
problems (e.g., an operand is not a directory). Use it only for
|
|
syntax. Standardize on "target %s is not a directory" for the
|
|
diagnostic.
|
|
* src/ln.c (main): Likewise.
|
|
* src/mv.c (main): Likewise.
|
|
|
|
* src/cp.c (do_copy): Remove test for trailing slash, since
|
|
target_directory_operand now does this.
|
|
* src/ln.c (main): Likewise.
|
|
* src/mv.c (movefile): Likewise.
|
|
|
|
* src/cp.c (main): Reject multiple target directories.
|
|
Check whether a specified target is a directory when parsing the
|
|
options, using stat. This gives more-accurate diagnostics.
|
|
* src/ln.c (main): Likewise.
|
|
|
|
* src/ln.c (isdir): Remove decl; no longer needed.
|
|
* src/mv.c (isdir, lstat): Likewise.
|
|
|
|
* src/ln.c (do_link): New arg dest_is_dir. All uses changed.
|
|
Don't check the destination ourself; rely on dest_is_dir.
|
|
This way we can avoid lstatting the destination in the
|
|
usual case, and in the worst case we lstat 1, not 3 times.
|
|
Don't bother to unlink unless link failed; this saves a syscall.
|
|
Remove unnecessary backup_succeeded flag;
|
|
it was identical to "dest_backup != NULL".
|
|
|
|
* src/ln.c (main): Use int to count to argc, not unsigned int.
|
|
This handles negative operand counts.
|
|
* src/mv.c (main): Likewise.
|
|
|
|
* src/mv.c (do_move): Don't call hash_init; expect the caller to
|
|
do it, for consistency with cp.c and ln.c. All callers changed.
|
|
(movefile): dest_is_dir parameter is now bool, not int.
|
|
(main): Standardize on "missing destination file operand after %s"
|
|
for the diagnostic, for consistency with cp.c.
|
|
|
|
* tests/mv/diag: Don't assume "mv --target=nonexistentdir"
|
|
will complain about the arg count.
|
|
Adjust to new (briefer) diagnostics.
|
|
* tests/cp/fail-perm: Add a test to verify that we get the new
|
|
diagnostic when failing to copy through a symlink-to-inaccessible-dir.
|
|
|
|
2004-06-27 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix a bug: formerly, if d/x was a directory and x a file, "ln x
|
|
d/" incorrectly created a link d/x/x. It also saves some system
|
|
calls.
|
|
|
|
* NEWS: Document the fix.
|
|
|
|
* src/ln.c (main): Don't append basename to dest if this
|
|
results in an existing directory name.
|
|
* tests/ln/misc: See whether a trailing slash is followed too far.
|
|
|
|
2004-06-26 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/printf.c (main): When given no arguments, print the standard
|
|
"missing operand\nTry printf --help..." message -- to be consistent.
|
|
|
|
2004-06-26 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/mknod.c (main): Add \n at the end of message output via fprintf.
|
|
|
|
2004-06-25 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/ln/misc: Add test for ln subscript error.
|
|
|
|
2004-06-23 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/ln.c (do_link): Remove unnecessary call to lstat.
|
|
(main): Avoid subscript error when the destination is "".
|
|
|
|
2004-06-23 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/*: Replace all occurrences of `(exit N); exit' with
|
|
`(exit N); exit N'. Otherwise, those many tests could exit with
|
|
improper exit status when exiting via e.g., a trapped interrupt.
|
|
Thanks to a report from Bob Proulx.
|
|
|
|
2004-06-22 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/who.c (idle_string, print_user): New arg boottime,
|
|
specifying the most recent boot time. All uses changed.
|
|
(idle_string) Consider a line to be "old" if it hasn't been used
|
|
since the last boot time. Watch out for overflow when computing
|
|
times, and for times in the future.
|
|
(idle_string): Record latest boot time.
|
|
|
|
2004-06-22 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/test.c (usage): Correct description of `-t FD'. The file
|
|
descriptor, FD, is no longer optional. Reported by Ton Nijkes.
|
|
|
|
2004-06-21 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
The 2004-06-19 fix for who and pinky was incomplete, as ctime
|
|
has undefined behavior if the year precedes -999 or follows 9999.
|
|
Since we have to stop using ctime anyway, we might as well use
|
|
strftime and fix the FIXME, and support internationalized dates.
|
|
|
|
* NEWS: Document the new behavior.
|
|
* src/who.c: Include "hard-locale.h".
|
|
(time_format, time_format_width): New vars.
|
|
(time_string, print_line): Use them.
|
|
(main): Set them.
|
|
(time_string): Use localtime + strftime instead of
|
|
ctime, to avoid problems with years before -999 or after 9999.
|
|
* src/pinky.c: Likewise.
|
|
|
|
2004-06-21 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix bug: GNU 'ls' didn't count columns correctly if user or group
|
|
names contained multibyte characters where the column count
|
|
differed from the byte count. This patch also corrects
|
|
some comments.
|
|
|
|
* src/ls.c (format_user_or_group): New function, which counts
|
|
columns correctly.
|
|
(format_user, format_group): Use it.
|
|
(format_user_or_group_width): New function, which counts columns
|
|
correctly.
|
|
(format_user_width, format_group_width): Use it.
|
|
|
|
2004-06-21 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/priv-check: Quote "$PATH" in PATH=$PATH.
|
|
Suggestion from Andreas Schwab.
|
|
|
|
* tests/priv-check: When running as root, be sure to propagate
|
|
PATH through to the process we exec as non-root.
|
|
Reported by michael@aplatform.com.
|
|
|
|
* src/mknod.c (main): Don't segfault when calculating the
|
|
expected number of operands for `mknod NAME'.
|
|
|
|
2004-06-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/dd.c (input_seek_errno): Declare file-scoped variable as static.
|
|
|
|
2004-06-20 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/basename.c (main):
|
|
Standardize on the diagnostics given when someone gives
|
|
too few operands ("missing operand after `xxx'") or
|
|
too many operands ("extra operand `xxx'").
|
|
Include "quote.h" and/or "error.h" if it wasn't already being included.
|
|
* src/chgrp.c (main): Likewise.
|
|
* src/chmod.c (main): Likewise.
|
|
* src/chown.c (main): Likewise.
|
|
* src/chroot.c (main): Likewise.
|
|
* src/comm.c (main): Likewise.
|
|
* src/cp.c (do_copy): Likewise.
|
|
* src/csplit.c (main): Likewise.
|
|
* src/date.c (main): Likewise.
|
|
* src/dircolors.c (main): Likewise.
|
|
* src/dirname.c (main): Likewise.
|
|
* src/du.c (main): Likewise.
|
|
* src/expr.c (main): Likewise.
|
|
* src/hostid.c (main): Likewise.
|
|
* src/hostname.c (main): Likewise.
|
|
* src/id.c (main): Likewise.
|
|
* src/install.c (main): Likewise.
|
|
* src/join.c (add_file_name, main): Likewise.
|
|
* src/link.c (main): Likewise.
|
|
* src/ln.c (main): Likewise.
|
|
* src/logname.c (main): Likewise.
|
|
* src/md5sum.c (main): Likewise.
|
|
* src/mkdir.c (main): Likewise.
|
|
* src/mkfifo.c (main): Likewise.
|
|
* src/mknod.c (main): Likewise.
|
|
* src/mv.c (main): Likewise.
|
|
* src/nohup.c (main): Likewise.
|
|
* src/od.c (main): Likewise.
|
|
* src/pathchk.c (main): Likewise.
|
|
* src/ptx.c (main): Likewise.
|
|
* src/readlink.c (main): Likewise.
|
|
* src/rm.c (main): Likewise.
|
|
* src/rmdir.c (main): Likewise.
|
|
* src/seq.c (main): Likewise.
|
|
* src/setuidgid.c (main): Likewise.
|
|
* src/shred.c (main): Likewise.
|
|
* src/sleep.c (main): Likewise.
|
|
* src/sort.c (main): Likewise.
|
|
* src/split.c (main): Likewise.
|
|
* src/stat.c (main): Likewise.
|
|
* src/test.c (beyond, main): Likewise.
|
|
* src/touch.c (main): Likewise.
|
|
* src/tr.c (main): Likewise.
|
|
* src/tsort.c (main): Likewise.
|
|
* src/tty.c (main): Likewise.
|
|
* src/uname.c (main): Likewise.
|
|
* src/uniq.c (main): Likewise.
|
|
* src/unlink.c (main): Likewise.
|
|
* src/uptime.c (main): Likewise.
|
|
* src/users.c (main): Likewise.
|
|
* src/who.c (main): Likewise.
|
|
* src/whoami.c (main): Likewise.
|
|
|
|
* tests/basename/basic: Adjust to new diagnostics.
|
|
* tests/du/files0-from: Likewise.
|
|
* tests/expr/basic: Likewise.
|
|
* tests/mv/diag: Likewise.
|
|
* tests/tsort/basic-1: Likewise.
|
|
|
|
2004-06-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/ln.c: Remove declaration of yesno.
|
|
Instead, include yesno.h.
|
|
* src/copy.c: Likewise.
|
|
|
|
* src/remove.c: Remove declaration of yesno.
|
|
Instead, include yesno.h.
|
|
(top_dir): Remove now-unnecessary cast of obstack_base.
|
|
(pop_dir): Likewise.
|
|
(full_filename_): Likewise.
|
|
|
|
2004-06-19 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Don't dump core if ctime returns NULL; this is possible on
|
|
hosts with 64-bit time_t and 32-bit int.
|
|
* src/who.c: Include "inttostr.h".
|
|
(time_string): If ctime fails, print the raw time as an integer
|
|
instead of dumping core.
|
|
* src/pinky.c: Likewise, as follows:
|
|
Include "inttostr.h".
|
|
(time_string): New function, copied from who.c.
|
|
(print_entry): Use it.
|
|
|
|
2004-06-19 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/who.c (print_line): Don't truncate user names at 8 bytes.
|
|
Problem reported by Guido Leenders in:
|
|
http://lists.gnu.org/archive/html/bug-coreutils/2004-06/msg00056.html
|
|
* NEWS: document this.
|
|
|
|
2004-06-19 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/system.h (case_GETOPT_VERSION_CHAR): Switch back to
|
|
using GNU_PACKAGE (from PACKAGE) once again. This restores
|
|
`GNU' to the parenthesized package name in --version output.
|
|
Before, the first argument from AC_INIT, `GNU coreutils', would
|
|
be propagated to the PACKAGE variable. Now, `GNU ' is trimmed.
|
|
Reported by Richard Stallman.
|
|
|
|
2004-06-17 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/tr.c (to_uchar): Rename function from `uchar'. The latter
|
|
would clash with a typedef in Tru64's <sys/types.h>. From Albert Chin.
|
|
|
|
2004-06-15 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* NEWS: Remove more special cases for POSIXLY_CORRECT when POSIX
|
|
allows the GNU behavior. "--" is now supported by chroot, hostid,
|
|
hosname, pwd, sync, yes.
|
|
* doc/coreutils.texi (yes invocation, false invocation,
|
|
true invocation): Document this.
|
|
* src/chroot.c (main): Handle "--".
|
|
* src/hostid.c (main): Likewise.
|
|
* src/hostname.c (main): Likewise.
|
|
* src/pwd.c (main): Likewise.
|
|
* src/sync.c (main): Likewise.
|
|
* src/yes.c (main): Likewise.
|
|
* src/true.c (main): Recognize --help and --version even if
|
|
POSIXLY_CORRECT is set.
|
|
* src/yes.c (main): Likewise.
|
|
|
|
2004-06-09 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* NEWS: Remove special cases for POSIXLY_CORRECT when POSIX allows
|
|
the GNU behavior.
|
|
* doc/coreutils.texi (pr invocation, unlink invocation): Document this.
|
|
* src/ls.c (decode_switches): Pay attention to TABSIZE even if
|
|
POSIXLY_CORRECT is set. POSIX reserves upper-case environment
|
|
variables to the implementation, so it's OK for ls to depend on
|
|
TABSIZE.
|
|
* src/pr.c: Include "hard-locale.h".
|
|
(main): When in a non-POSIX locale, ignore POSIXLY_CORRECT, since
|
|
POSIX specifies the behavior only in the POSIX locale.
|
|
* src/printf.c (print_esc): Support \x, \u, \U even if POSIXLY_CORRECT,
|
|
since POSIX says the behavior is unspecified here.
|
|
* src/tail.c (parse_obsolescent_option): Support multiple file operands
|
|
even if POSIXLY_CORRECT, since POSIX does not require a diagnostic.
|
|
* src/printf.c (main): Recognize --help, --version even if
|
|
POSIXLY_CORRECT. POSIX does not specify any options, but it
|
|
does not prohibit options either, so "printf" is like "expr" here.
|
|
* src/unlink.c (main): Likewise.
|
|
* tests/misc/printf: Adjust to the new semantics for \x if
|
|
POSIXLY_CORRECT.
|
|
|
|
2004-06-14 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/misc/pwd: New test, for fix of 2004-04-19.
|
|
* tests/misc/Makefile.am (TESTS): Add pwd.
|
|
(BUILD_SRC_DIR): Define BUILD_SRC_DIR.
|
|
|
|
* src/copy.c: Remove declaration of euidaccess.
|
|
Instead, include "euidaccess.h".
|
|
|
|
2004-06-13 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/who.c (PIDSTR_DECL_AND_INIT): Don't assume pid_t fits in int.
|
|
(UT_ID) [!HAVE_STRUCT_XTMP_UT_ID]: Remove bogus comment,
|
|
as (sizeof "??") reliably returns 3.
|
|
(print_line): Guard against idle and pid being too long
|
|
(which is possible when printing headers).
|
|
(print_user): Allocate enough bytes for idlestr. Use IDLESTR_LEN.
|
|
Avoid unnecessary cast of sizeof to int.
|
|
(make_id_equals_comment): Do not assume that UT_ID returns
|
|
a string; it might return a non-null-terminated array.
|
|
Use strncat instead. It's not very often where strncat is
|
|
exactly what you want, but this is one of those rare cases.
|
|
|
|
2004-06-11 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/who.c (list_entries_who): Don't output a trailing space.
|
|
|
|
2004-06-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/touch.c (usage): Improve wording in description of the
|
|
--time=WORD option. Reported by Dan Jacobson.
|
|
|
|
* src/chown-core.c (change_file_owner): Change names of parameters
|
|
old_uid and old_gid to required_uid and required_gid respectively.
|
|
|
|
* src/chmod.c (mode_changed): Return false, not 0, now that the
|
|
function returns `bool'.
|
|
|
|
2004-06-08 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Adjust chmod and chown to be similar if -c or -v are given. In
|
|
particular, a no-op chown is no longer reported as a change; this
|
|
reverts to previous behavior. Also, fix both commands so that -v
|
|
report failures even if the failure is not due to the chmod or
|
|
chown syscalls.
|
|
|
|
* src/chmod.c (CH_NOT_APPLIED): New constant.
|
|
(describe_change): Handle it.
|
|
(process_file): Use it, if a symlink wasn't changed.
|
|
(mode_changed): Return bool, not int. Accept new argument
|
|
NEW_MODE; all callers changed. This lets us avoid statting the
|
|
file unless the new mode has unusual bits.
|
|
(process_file): Return -1 on error. With -v, report all errors
|
|
verbosely, not just some.
|
|
|
|
* src/chown-core.c (change_file_owner): Return -1 on error, not
|
|
1 sometimes and -1 on others. Our caller ORs together our results,
|
|
and (-1 | 1) == 0 on ones-complement hosts.
|
|
With -v report all errors verbosely, not just some.
|
|
Fix bug when chopt->root_dev_ino && !chopt->affect_symlink_referent:
|
|
file_stats wasn't set properly in that case.
|
|
|
|
* tests/chgrp/basic: Adjust to above changes.
|
|
|
|
2004-05-20 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* tests/chgrp/basic: Test that chgrp -h does not fail on
|
|
symlinks, even on hosts where that's not supported.
|
|
Test that if -R is specified without -H or L, -h is assumed.
|
|
Test that chown() is not optimized away.
|
|
|
|
2004-05-18 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Several fixes to chgrp and chown for compatibility with POSIX and BSD:
|
|
|
|
Check for incompatible options. When -R and --dereference are
|
|
both used, then either -H or -L must also be used. When -R and -h
|
|
are both used, then -P must be in effect.
|
|
|
|
-H, -L, and -P have no effect unless -R is also specified.
|
|
If -P and -R are both specified, -h is assumed.
|
|
|
|
Do not optimize away the chown() system call when the file's owner
|
|
and group already have the desired value. This optimization was
|
|
incorrect, as it failed to updated the last-changed time and reset
|
|
special permission bits, as POSIX requires.
|
|
|
|
Do not report an error if the owner or group of a
|
|
recursively-encountered symbolic link cannot be updated because
|
|
the file system does not support it.
|
|
|
|
* NEWS: Document the above.
|
|
|
|
* src/chgrp.c (main): Check for incompatible options. -R --dereference
|
|
requires either -H or -L, and -R -h requires -P. If -H, specify
|
|
FTS_PHYSICAL as well as FTS_COMFOLLOW; this is faster. Make this
|
|
file as much like chown.c as possible.
|
|
* src/chown.c (main): Likewise.
|
|
|
|
* src/chown-core.c (change_file_owner): Use ent->fts_statp only if
|
|
needed. Chown a directory only after chowning its children; this
|
|
avoids problems if the new directory ownership doesn't permit
|
|
access to the children. Dereference symlinks before doing
|
|
ROOT_DEV_INO_CHECK, not after, so that we catch symlinks to /.
|
|
Do not optimize away the chown() system call when the file's owner
|
|
and group already have the desired value. POSIX does not permit
|
|
this optimization. Rely on chown and lchown to do the right
|
|
thing with symlinks and/or -1 arguments, now that we have wrappers
|
|
to do this. Use ENOTSUPP not ENOSYS, and ignore all ENOTSUPP
|
|
errors, not just command-line errors.
|
|
(chown_files): Pass FTS_NOSTAT to xfts_open if we don't need file status.
|
|
|
|
* src/system.h (ENOTSUP): Remove.
|
|
|
|
* tests/chgrp/basic: Use chown --from to discover whether the
|
|
group changed, since chgrp now changes unconditionally. This
|
|
complicates the sed script a bit. Do not specify --dereference,
|
|
since it's the default (and we want to test this). Adjust output
|
|
to match the fact that chgrp no longer optimizes the case of
|
|
changing a file's group to the same value as before.
|
|
* tests/chgrp/posix-H: Do not attempt to combine -h and -H; these
|
|
options are incompatible, and their behavior is undefined with POSIX.
|
|
(changed, not_changed): Adjust to match the fact that -h is no longer
|
|
specified. Sort names.
|
|
* tests/chown/deref: Adjust error-diagnostic spelling to match new
|
|
behavior.
|
|
|
|
2004-06-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/uname.c (main): Fix typo introduced on 2003-05-10 that
|
|
prevented a diagnostic of any operands.
|
|
|
|
2004-06-08 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/shred.c (direct_mode): Turn it on/off with directio, too.
|
|
|
|
2004-06-07 Jim Meyering <jim@meyering.net>
|
|
|
|
Enable direct-mode I/O (bypassing the buffer cache), if possible.
|
|
Prompted by a suggestion from Kalle Olavi Niemitalo
|
|
in http://bugs.debian.org/207035.
|
|
* src/shred.c (direct_mode): New function.
|
|
(do_wipefd): Turn on direct-mode I/O.
|
|
(dopass): If a file's first write fails with EINVAL,
|
|
turn off direct-mode I/O and retry the write.
|
|
|
|
2004-06-05 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/tr.c (main): "tr -d a b" is now a fatal error even if
|
|
POSIXLY_CORRECT is set. The POSIX SYNOPSIS does not allow this
|
|
option combination.
|
|
|
|
2004-06-04 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/shred.c (dopass): Don't subtract 1 from the offset after
|
|
a write error. Problem reported by Jon Peatfield in:
|
|
http://lists.gnu.org/archive/html/bug-coreutils/2004-06/msg00020.html
|
|
|
|
2004-06-02 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix bug reported by Buciuman Adrian in
|
|
<http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00105.html>
|
|
where 'dd' created a file that was too large. The bug was that dd
|
|
assumed that the input file offset does not advance after a failed
|
|
read; but POSIX says that the input file offset is undefined after
|
|
a failed read.
|
|
|
|
* src/dd.c (MAX_BLOCKSIZE): New macro.
|
|
(input_seekable, input_seek_errno, input_offset,
|
|
input_offset_overflow): New vars.
|
|
(scanargs): Reject block sizes greater than MAX_BLOCKSIZE.
|
|
(advance_input_offset): New function.
|
|
(skip_via_lseek): Set errno to zero when reporting our failure,
|
|
so that we don't report based on garbage errno.
|
|
(skip): If fdesc is standard input, advance the input offset.
|
|
Do not quit if reading, and if noerror was specified;
|
|
POSIX seems to require this.
|
|
If read fails on output file, report the earlier lseek failure
|
|
instead; this fixes a FIXME in dd_copy.
|
|
(advance_input_after_read_error): New function.
|
|
(dd_copy): Use it, instead of assuming that failed reads
|
|
do not advance the file pointer. Advance input offset
|
|
after nonfailed reads. Advance only a partial block if
|
|
the previous read (before the failed read) succeeded, and
|
|
do not generate an output block of zeros in this case.
|
|
(main): Determine initial input offset, seekability of input,
|
|
and error if it wasn't seekable.
|
|
|
|
2004-06-02 Jim Meyering <jim@meyering.net>
|
|
|
|
rm (without -f) could hang unnecessarily when attempting to
|
|
remove a symlink to a file on an off-line NFS-mounted partition.
|
|
Reported by David Howells in https://bugzilla.redhat.com/124699.
|
|
* src/remove.c (write_protected_non_symlink): New function.
|
|
Don't invoke euidaccess on symlinks.
|
|
(prompt): Use write_protected_non_symlink rather than using
|
|
euidaccess directly, being careful not to call lstat twice for a file.
|
|
|
|
Fix a bug in how the --output-delimiter=D option works with
|
|
abutting byte or character ranges. Reported by David Krider in
|
|
http://lists.gnu.org/archive/html/bug-coreutils/2004-05/msg00132.html
|
|
* src/cut.c (print_kth): Remove special case for open-ended range.
|
|
(set_fields): Record the range start index for an interval even
|
|
when it abuts another interval on its low side.
|
|
Also record the range start index of the longest right-open-interval.
|
|
* tests/cut/Test.pm: Add tests of --output-delimiter=S with
|
|
abutting and overlapping byte ranges.
|
|
|
|
2004-06-01 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Some POSIX-conformance cleanups for tr.
|
|
|
|
* src/tr.c (posix_pedantic): Remove; no longer needed since
|
|
we need to test this in just one place now.
|
|
(usage): Mention -C.
|
|
(unquote): Note that \055, \n, etc are escaped.
|
|
Do not worry about POSIXLY_CORRECT when warning about ambiguous
|
|
escape sequences.
|
|
\ at end of string stands for itself.
|
|
Do not diagnose invalid backslash escapes: POSIX says the behavior
|
|
is unspecified in this case, so we don't need to diagnose it.
|
|
(main): Add support for -C (currently an alias for -c).
|
|
Do not diagnose 'tr [:upper:] [:upper:], as POSIX does not require
|
|
a diagnostic here.
|
|
* tests/tr/Test.pm: New tests bs-055, bs-at-end, repeat-Compl.
|
|
Fix comment for range-a-a.
|
|
|
|
2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Improve the efficiency (and in one case, correctness) of code
|
|
that reads symlinks.
|
|
|
|
* src/copy.c (copy_internal): Don't use alloca, as it can mess up
|
|
royally if the link length is long (e.g., GNU/Hurd). Use
|
|
xreadlink instead, it's safer. Don't bother to read the link if
|
|
it's the wrong size. Add a FIXME because this area is a bit murky
|
|
and undocumented.
|
|
* src/ls.c (get_link_name): Update use of xreadlink.
|
|
* src/readlink.c (main): Likewise.
|
|
* src/stat.c (print_stat): Likewise.
|
|
|
|
2004-06-01 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/env.c (main): Prefer the notation `STREQ (a, b)'
|
|
over `!strcmp (a, b)'.
|
|
* src/sort.c (main, sort_buffer_size): Prefer the notation
|
|
`STREQ (a, b)' over `strcmp (a, b) == 0'.
|
|
* src/date.c (batch_convert): Likewise.
|
|
* src/expr.c (nextarg): Likewise.
|
|
* src/su.c (correct_password, restricted_shell, main): Likewise.
|
|
* src/ptx.c (swallow_file_in_memory, main): Likewise.
|
|
* src/test.c (binary_operator, and, or, main): Likewise.
|
|
|
|
2004-05-13 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* NEWS: echo compatibility cleanup.
|
|
* doc/coreutils.texi (echo invocation): Document the changes.
|
|
* src/echo.c (V9_ECHO): Remove; always enabled.
|
|
(DEFAULT_ECHO_TO_XPG): Renamed from V9_DEFAULT, so that
|
|
we use the same naming convention as bash. Now an enum,
|
|
not a macro.
|
|
(usage): Reword to mention -e/-E more accurately.
|
|
Mention \0NNN (the POSIX syntax) rather than \NNN (nonstandard).
|
|
(hextobin): New function.
|
|
(main): Use bool rather than int for local vars when appropriate.
|
|
Do not allow options if POSIXLY_CORRECT, unless we are using
|
|
BSD semantics and the first argument is "-n".
|
|
Don't pass unnecessary extra arg to parse_long_options.
|
|
do_v9 now defaults to DEFAULT_ECHO_TO_XPG, not to allow_options.
|
|
Do not look for options if !allow_options.
|
|
Use size_t rather than int when appropriate.
|
|
Open-code option test rather than using strrchr.
|
|
Use faster test for "-".
|
|
Avoid redundant argc test.
|
|
Add support for \x, for Bash compatibility.
|
|
Use e.g. '\a' rather than '\007', for portability to EBCDIC hosts.
|
|
When '\c' is encountered, stop printing immediately, as POSIX
|
|
requires.
|
|
Add support for \xhh syntax.
|
|
Add support for \0ooo syntax; POSIX requires this.
|
|
|
|
2004-06-01 Jim Meyering <jim@meyering.net>
|
|
|
|
* Use automake-1.8b. Regenerate dependent files.
|
|
|
|
2004-05-31 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/Makefile.am.in (TESTS_ENVIRONMENT): Define PATH to include
|
|
the build src/ directory -- at the front.
|
|
($(srcdir)/$x-tests): Depend on Makefile.am.
|
|
Use $x as the program name, except when it would be `test' (test is
|
|
the sole program tested via mk-script that is also a shell built-in).
|
|
In that case, use the old ../../src/$x.
|
|
|
|
2004-05-30 Jim Meyering <jim@meyering.net>
|
|
|
|
Work around HPUX /bin/cc compiler bug that is exposed, now that
|
|
sets are arrays of type `bool'. More details here:
|
|
http://lists.gnu.org/archive/html/bug-gnulib/2004-05/msg00094.html
|
|
FIXME: verify that the above URL points to the right message
|
|
|
|
* src/tr.c (card_of_complement): Use cleaner `sizeof in_set'
|
|
rather than `N_CHARS * sizeof(in_set[0])'. Using HPUX's /bin/cc
|
|
(aC++/ANSI C B3910B A.05.55 [Dec 04 2003]) on an ia64-hp-hpux11.22
|
|
system, those two expressions are not the same (256 vs. 1024).
|
|
The effect of this problem was that `tr -c x y' would fail:
|
|
tr: when not truncating set1, string2 must be non-empty
|
|
(set_initialize): Remove unnecessary initialization of the `in_set'
|
|
buffer; that initialization triggered the same compiler bug as above.
|
|
|
|
2004-05-29 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
tr cleanup, mostly having to do with integer type ranges.
|
|
Remove all casts.
|
|
|
|
* tests/tr/Test.pm: Add a few tests for the below. Alas, most of
|
|
the test cases wouldn't be portable, or would take too much CPU
|
|
time, or both.
|
|
|
|
* src/tr.c (N_CHARS, N_CHAR_CLASSES): Now an enum, not a macro.
|
|
This is safe since the code already assumes N_CHARS fits in int.
|
|
(Filter): Remove: we want to prototype everything.
|
|
(ORD, CHR): Remove. All uses removed. Some replaced with:
|
|
(uchar): New function. All places where a char must be converted
|
|
to an unsigned char are now done this way, not by ad-hoc methods.
|
|
(count): New type. Use it whenever counts or states are needed.
|
|
(BEGIN_STATE): Increase from INT_MAX - 1 (which was bogus, anyway,
|
|
since we used it in an unsigned int context) to UINTMAX_MAX - 1.
|
|
(REPEAT_COUNT_MAXIMUM): New macro. Use it in place of BEGIN_STATE
|
|
whenever appropriate.
|
|
(NOT_A_CHAR): Remove global macro; now a local enum.
|
|
(UL_LOWER, UL_UPPER, UL_NONE): No longer specify values, since
|
|
the rest of the code no longer depends on them.
|
|
(class_ok): Remove; all uses changed to use inline comparisons.
|
|
(RE_NO_TYPE): Remove; wasn't used or needed.
|
|
(struct List_element): normal_char and equiv_code are now unsigned
|
|
char, not int.
|
|
first_char, last_char, and the_repeated_char are now unsigned char,
|
|
not unsigned int. repeat_count is now count, not size_t.
|
|
All uses changed.
|
|
(struct Spec_list): state is now count, not unsigned int.
|
|
lengthis now count, not size_t.
|
|
n_indefinite_repeats is now size_t, not int.
|
|
has_equiv_class, has_char_class, and has_restricted_char_class
|
|
are now bool, not int. All uses changed.
|
|
(struct E_string): s is now char *, not unsigned char *.
|
|
escaped is now bool *, not int *. All uses changed.
|
|
(ES_MATCH): Remove macro, replacing with:
|
|
(es_match): New inline function. All uses changed.
|
|
(squeeze_repeats, complement, posix_pedantic, truncate_set1,
|
|
translating): Now bool, not int.
|
|
(io_buf): Now char array, not unsigned char.
|
|
(SET_TYPE): Remove. All uses replaced with bool.
|
|
(is_equiv_class_member, unquote, append_range, append_char_class,
|
|
append_equiv_class, find_closing_delim, star_digits_closebracket,
|
|
build_spec_list, parse_str, homogeneous_spec_list):
|
|
Now returns bool, not int. All uses changed.
|
|
(is_equiv_class_member): Now inline.
|
|
(is_equiv_class_member, is_char_class_member, make_printable_str,
|
|
append_normal_char, append_range, append_repeated_char,
|
|
get_s2_spec_stats):
|
|
Args are now of proper integer type.
|
|
(unquote, look_up_char_class, make_printable_str,
|
|
append_equiv_class, build_spec_list, squeeze_filter):
|
|
Avoid unsigned char *p; gently convert *p to unsigned char instead.
|
|
(unquote, get_spec_stats): Do not jump past declarations and then
|
|
use them; C doesn't allow this in portable programs.
|
|
(make_printable_str): Check for overflow in size calculations.
|
|
(xmemdup): Remove. All uses rewritten.
|
|
(find_bracketed_repeat): Args are now of proper pointer-to-integer
|
|
type. Do not reject [c*0]. Use xstrtoumax, not xstrtoul.
|
|
(find_bracketed_repeat, star_digits_closebracket): Check that the
|
|
digits are not escaped.
|
|
(build_spec_list): Don't bother to copy opnd_str; not needed.
|
|
(build_spec_list, get_next): Simplify internal logic a bit.
|
|
(card_of_complement): Fix bug due to char overflow.
|
|
(get_spec_stats): Don't assume len fits into int.
|
|
Check for integer overflow. Use abort() rather than assert(0).
|
|
(string2_extend): Fix subscript error: is_char_class_member (..., 255)
|
|
was being invoked.
|
|
(squeeze_filter): READER is never null now; simplify code.
|
|
READER arg now has a simpler type. Remove unnecessary casts.
|
|
(squeeze_filter, main): Calls to fwrite improperly checked result
|
|
against zero, rather than against requested size.
|
|
(plain_read): New function.
|
|
(read_and_delete, read_and_xlate):
|
|
Remove unused filter arg, and don't worry about hit_eof.
|
|
Simplify by using plain_read.
|
|
(set_initialize): Args are bool and bool *, not int and SET_TYPE *.
|
|
(main): Always pass a non-null procedure to squeeze_filter.
|
|
Rewrite so that class_ok isn't needed.
|
|
|
|
2004-05-29 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/shred.c (dosync): Ignore EBADF errors, as IRIX 6.5
|
|
fdatasync reports EBADF when syncing (unwritable) directories.
|
|
Problem reported by Albert Chin-A-Young in:
|
|
http://lists.gnu.org/archive/html/bug-coreutils/2004-05/msg00165.html
|
|
|
|
2004-05-29 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/chown/deref: Fix typo: use ls -ldo, not ls -ldg.
|
|
Patch from Albert Chin.
|
|
|
|
* src/ptx.c (text_buffer_maxend): Remove declaration of unused variable.
|
|
|
|
* src/remove.c (push_dir): Merge declaration and adjacent assignment
|
|
into a single statement.
|
|
|
|
2004-05-28 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/remove.c (AD_mark_helper): Eliminate an unnecessary comparison.
|
|
|
|
2004-05-22 Jim Meyering <jim@meyering.net>
|
|
|
|
rm -r would get a failed assertion when run from an inaccessible
|
|
directory and with two or more command line arguments including an
|
|
absolute-named directory followed by a relative-named directory.
|
|
|
|
* src/remove.h (struct rm_options) [require_restore_cwd]: New member.
|
|
* src/remove.c (struct cwd_state): Define.
|
|
(AD_pop_and_chdir): Redesign interface so that a restore_cwd failure
|
|
can be detected by the caller. Instead of returning a malloc'd
|
|
directory name, communicate it to caller via a new parameter, and
|
|
return an indication of whether restore_cwd failed. Update caller.
|
|
Eliminate an unnecessary call to AC_stack_top.
|
|
(remove_dir): Change type of cwd_state parameter to `struct cwd_state'
|
|
so we can now communicate to caller whether/how functions like
|
|
restore_cwd have failed. Update caller.
|
|
(rm_1): Fail if we've failed to restore the working directory
|
|
and the name of the next file to remove is `.'-relative.
|
|
(rm): Fail if the require_restore_cwd flag is true and we've
|
|
failed to restore the working directory.
|
|
* src/mv.c (rm_option_init): Initialize new member,
|
|
x->require_restore_cwd.
|
|
* src/rm.c (rm_option_init): Likewise.
|
|
|
|
2004-05-21 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/rm/inaccessible: New test for the above fix.
|
|
* tests/rm/Makefile.am (TESTS): Add inaccessible.
|
|
|
|
* src/remove.c (rm): Use free rather than XFREE.
|
|
(remove_dir): Use xmalloc, not XMALLOC.
|
|
(ds_init): Likewise.
|
|
|
|
2004-05-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (sc_unmarked_diagnostics): Now that the unmarked
|
|
diagnostics in shred.c have been fixed, don't exempt shred.c from
|
|
this check.
|
|
|
|
* src/shred.c: Use translatable diagnostics, e.g.
|
|
change "%s: remove" to _("%s: failed to remove") and
|
|
change "%s: close" to _("%s: failed to close").
|
|
|
|
2004-05-17 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/shred.c (names): Bring back lower-case letters, "_", and
|
|
".". But continue to omit +, =, %, @, #, as they're either
|
|
shell metacharacters (for some shells) or are not in some
|
|
character sets, or (in the case of '%') must be a
|
|
metacharacter somewhere.
|
|
|
|
2004-05-16 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/cut.c (cut_fields): Adjust to new signature of getndelim2.
|
|
|
|
2004-05-17 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/shred.c (incname): Decrement `len' only once per loop iteration.
|
|
|
|
chgrp and chown now dereference symlinks by default, per POSIX.
|
|
Reported by Michal Politowski as http://bugs.debian.org/249177.
|
|
|
|
* src/chown-core.c (chopt_init): Affect each symlink referent by default.
|
|
* src/chown.c (usage): Update to reflect this.
|
|
* src/chgrp.c (usage): Likewise.
|
|
* NEWS: Describe the change.
|
|
Adapt tests accordingly.
|
|
* tests/chgrp/basic: Use -h where necessary to retain semantics.
|
|
* tests/chgrp/deref: Likewise.
|
|
* tests/chgrp/posix-H: Likewise.
|
|
|
|
2004-05-15 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
In shred, check for errors from fdatasync more carefully. If
|
|
fdatasync fails with errno==EINVAL, it means this implementation
|
|
does not support synchronized I/O for this file. Do not report
|
|
this as an error, as (for example) AIX 5.2 fdatasync reports it
|
|
for raw disk devices. Problem reported by Albert Chin in
|
|
<http://mail.gnu.org/archive/html/bug-gnu-utils/2004-05/msg00028.html>.
|
|
|
|
Check for write errors, though: the old code ignored them.
|
|
Improve error checking in a few other cases, too (e.g., close of a
|
|
directory).
|
|
|
|
Also, change several 'int' values to 'bool', so that the error
|
|
checking is a bit clearer. Similarly, change unsigned values
|
|
to size_t where appropriate.
|
|
|
|
* src/shred.c: Include "dirname.h".
|
|
(datasync) [!HAVE_FDATASYNC]: Remove.
|
|
(dosync): New function.
|
|
(dopass): Use it. Return 1 on write error, -1 on other error.
|
|
All callers changed. Report write error if dosync does.
|
|
(do_wipefd, wipefd, wipename, wipefile): Return bool (true/false),
|
|
not int (0/-1). All callers changed. Return false if there's a
|
|
write error.
|
|
(incname): Return bool (true/false), not int (0/1). Accept
|
|
size_t length, not unsigned. All callers changed. Do not
|
|
bother checking for non-digits; it can't happen. Replace
|
|
recursion with iteration.
|
|
(wipename): Use dir_name, base_name, etc. instead of assuming
|
|
Unix file names. Use size_t for length, not unsigned.
|
|
Report error if unlink or close fails.
|
|
(wipename, main): Use bool for booleans.
|
|
|
|
(names): Use only digits and uppercase letters, for greater
|
|
portability.
|
|
|
|
2004-05-16 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/chown/deref: New test for the yesterday's change.
|
|
* tests/chown/Makefile.am (TESTS): Add deref.
|
|
|
|
2004-05-15 Jim Meyering <jim@meyering.net>
|
|
|
|
chown --dereference did nothing when the owner/group of a
|
|
symlink matched the desired owner/group. Reported by David Malone.
|
|
Also reported in 1999 as http://bugs.debian.org/39642.
|
|
|
|
* src/chown-core.c (change_file_owner): When --dereference has
|
|
been specified, and when processing a symlink, stat it to get the
|
|
owner and group of the referent.
|
|
|
|
2004-05-14 Jim Meyering <jim@meyering.net>
|
|
|
|
* man/pwd.x, man/echo.x, man/printf.x: Fix typo:
|
|
s/supercede/supersede/ reported by Andrew Fabbro.
|
|
|
|
2004-05-13 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Improve performance of `sort -m' on large files, at the cost of
|
|
making some contrived examples unsafe. POSIX allows this
|
|
optimization. Performance problem reported by Jonathan Baker in
|
|
<http://mail.gnu.org/archive/html/bug-coreutils/2004-05/msg00071.html>.
|
|
|
|
* src/sort.c (first_same_file): Do not treat input pipes
|
|
differently from other files.
|
|
* doc/coreutils.texi (sort invocation): Document that "sort -m -o F"
|
|
might write F before reading all the input.
|
|
* NEWS: Likewise.
|
|
|
|
2004-05-12 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/od.c (print_ascii, dump_strings): Use e.g. '\a' rather than
|
|
'\007', for portability to EBCDIC hosts.
|
|
* src/printf.c (print_esc_char): Likewise.
|
|
* src/tr.c (unquote, make_printable_str): Likewise.
|
|
|
|
2004-05-12 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/remove.c (AD_pop_and_chdir): Move lstat-`.' into if-block
|
|
where the result is used. This avoids one unnecessary lstat call
|
|
per command line argument.
|
|
|
|
2004-05-12 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Don't assume that "make -C" works; Solaris "make" doesn't have -C.
|
|
|
|
* src/Makefile.am (all_programs.list): New rule, copied from
|
|
man/Makefile.am and tests/Makefile.am, except that we use the
|
|
system tr rather than ./tr and we don't use tr -s.
|
|
* tests/Makefile.am (all_programs): Use it.
|
|
* man/Makefile.am (all_programs): Likewise. Renamed from programs,
|
|
for consistency. All uses changed.
|
|
|
|
2004-05-11 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/rm/unread3: New test, for the above fix and today's
|
|
lib/save-cwd.c improvement.
|
|
* tests/rm/Makefile.am (TESTS): Add unread3.
|
|
|
|
* src/rm.c: Don't include "save-cwd.h". It's no longer used.
|
|
|
|
2004-05-10 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/install/trap: New file. Test for bug fix of 2004-04-18.
|
|
* tests/install/Makefile.am (TESTS): Add trap.
|
|
|
|
* src/remove.c (AD_push): Don't use errno in diagnostic about
|
|
`changed dev/ino'.
|
|
|
|
Remove these generated files from CVS.
|
|
* tests/cut/cut-tests, tests/date/date-tests, tests/join/join-tests:
|
|
* tests/ls/ls-tests, tests/pr/pr-tests, tests/tac/tac-tests:
|
|
* tests/tail/tail-tests, tests/test/test-tests, tests/tr/range-tests:
|
|
* tests/tr/tr-tests, tests/wc/wc-tests:
|
|
|
|
2004-05-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/tr.c (unquote): Use xcalloc rather than xmalloc and
|
|
a loop initializing the just-allocated memory to zero.
|
|
|
|
2004-05-08 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/rm/no-give-up: New file; check for today's fix.
|
|
* tests/rm/Makefile.am (TESTS): Add no-give-up.
|
|
|
|
2004-05-08 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix bug where "rm" gave up too easily, reported by Dan Jacobsen in
|
|
<http://mail.gnu.org/archive/html/bug-coreutils/2004-05/msg00013.html>.
|
|
|
|
* src/remove.c (remove_entry): Check for errno values like ENOENT
|
|
that show the file cannot be directory, instead of for errno
|
|
values like EPERM that show the file might be a directory. This
|
|
is necessary because, when a single unlink() call has multiple
|
|
reasons to fail, it can set errno to any of those reasons; it's
|
|
only the rare errno value like ENOENT that excludes all the other
|
|
possible reasons to fail even when the file is a directory.
|
|
(remove_cwd_entries): Don't attempt chdir if the file is known
|
|
to not be a directory.
|
|
(remove_dir): Use the same method that remove_cwd_entries uses
|
|
(for some reason they differed). Don't assert that saved_errno
|
|
must be EPERM; it might be just about anything.
|
|
|
|
2004-05-06 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/id.c (xgetgroups): Use xnmalloc, rather than xmalloc.
|
|
Don't add `1' to the buffer size (it was to protect against malloc
|
|
implementations that fail to allocate a buffer of size zero).
|
|
That is no longer necessary, since we use a malloc wrapper
|
|
on such systems.
|
|
|
|
* src/wc.c (get_input_fstatus): Use xnmalloc, rather than xmalloc.
|
|
* src/head.c (elide_tail_bytes_pipe): Likewise.
|
|
* src/df.c (main): Likewise.
|
|
* src/shred.c (do_wipefd): Likewise.
|
|
* src/users.c (list_entries_users): Likewise.
|
|
* src/tail.c (main): Likewise.
|
|
* src/md5sum.c (main): Likewise.
|
|
|
|
2004-04-29 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* src/df.c (show_disk, show_point): If several filesystems are
|
|
mounted on the same mount point, prefer the last one, not the first.
|
|
Problem reported by Christian Jones in
|
|
<http://mail.gnu.org/archive/html/bug-coreutils/2004-04/msg00200.html>.
|
|
(show_disk): Remove unused statp arg. Return bool, not int.
|
|
(show_point): Rewrite to avoid gotos. Use the same algorithm
|
|
for lofs and dummies for each pass through the mount table,
|
|
rather than subtly different algorithms (which are probably
|
|
inadvertent).
|
|
|
|
2004-05-03 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.am (EXTRA_DIST): Add m4/ChangeLog, now that we no longer
|
|
have m4/Makefile*.
|
|
|
|
2004-05-01 Jim Meyering <jim@meyering.net>
|
|
|
|
When chown or chgrp is modifying the referent of a symlink,
|
|
use the chown(2) function, if possible.
|
|
* src/chown-core.c (change_file_owner): Don't hard-code the
|
|
open/fchown/close kludge here. Use `chown' instead.
|
|
The chown function works just fine on conforming systems.
|
|
Other systems now go through the new chown wrapper that
|
|
resorts to the old kludge.
|
|
|
|
* src/chown-core.c (change_file_owner): Add a comment.
|
|
|
|
2004-04-27 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/ptx.c: Make over 40 global extern variables `static'.
|
|
(syntax_table, re_syntax_table): Remove declarations of two unused
|
|
variables (they were exposed by the above change).
|
|
|
|
* src/du.c (G_fail, opt_nul_terminate_output): Declare `static'.
|
|
* src/ln.c (backup_type): Likewise.
|
|
|
|
* src/remove.c (rm): Add `extern' keyword.
|
|
* src/cp-hash.c (forget_created, remember_created)
|
|
(src_to_dest_lookup, remember_copied, hash_init, forget_all): Likewise.
|
|
* src/copy.c (dest_info_init, src_info_init, copy): Likewise.
|
|
* src/chown-core.c (chopt_init, chopt_free, gid_to_name)
|
|
(uid_to_name, chown_files): Likewise.
|
|
|
|
* src/Makefile.am (sc_tight_scope): New rule.
|
|
* Makefile.maint (sc_tight_scope): New rule.
|
|
(syntax-check-rules): Add it.
|
|
|
|
2004-04-26 Jim Meyering <jim@meyering.net>
|
|
|
|
* Use automake-1.8.4. Regenerate dependent files.
|
|
|
|
* src/sort.c (limfield): Make a comment clearer.
|
|
|
|
2004-04-25 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Fix POSIX-conformance bug: "sort -k 3,3.5b" is supposed to skip
|
|
leading blanks when computing the location of the field end;
|
|
it is not supposed to skip trailing blanks. Solaris 8 "sort"
|
|
does conform to POSIX. Also fix the documentation to clarify
|
|
this and related issues.
|
|
|
|
* doc/coreutils.texi (sort invocation): Mention -k earlier, so
|
|
that the options are in alphabetical order. Describe how -b works
|
|
more-accurately; this involves fixing some examples, too. Mention
|
|
what happens if the start field falls after an end field or after
|
|
a line end. Warn about using -k without -b, -g, -M, -n, or -t.
|
|
Add an example of how to sort IPv4 addresses and Apache Common
|
|
Log Format dates. Remove a duplicate example.
|
|
(Putting the tools together): Use separate options rather
|
|
than agglomerating them.
|
|
* src/sort.c (limfield): Use skipeblanks, not skipsblanks, to
|
|
decode whether to skip leading blanks.
|
|
(trailing_blanks): Remove.
|
|
(fillbuf, getmonth, keycompare): Don't trim trailing blanks.
|
|
|
|
* tests/pr/Test.pm: Fix typo in env_default comment.
|
|
* tests/sort/Test.pm: Likewise.
|
|
(18c, 18d): Reverse the order of output lines, so that the
|
|
test cases conform to POSIX.
|
|
|
|
2004-04-22 Paul Eggert <eggert@twinsun.com>
|
|
|
|
More signal-handling cleanup for ls.c. Do not allow signals to
|
|
happen between arbitrary output bytes, as the
|
|
restore-default-color sequence can bollix up multibyte chars or
|
|
color-change sequences in the ordinary output. Instead, process
|
|
signals only between printing a file name and changing the color
|
|
back to non_filename_text color. That way, if the signal handler
|
|
changes the color (to the default), 'ls' will change it back when
|
|
'ls' continues (after being suspended).
|
|
|
|
Also, do not bother with signal-handling unless stdout is a
|
|
controlling terminal; this lets stdio buffer better when "ls
|
|
--color" is piped or sent to a file.
|
|
|
|
* src/ls.c (sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]: New macros.
|
|
Do not include "full-write.h"; no longer needed.
|
|
(tcgetpgrp) [! HAVE_TCGETPGRP]: New macro.
|
|
(put_indicator_direct): Remove. All callers changed to use
|
|
put_indicator.
|
|
(caught_signals, interrupt_signal, stop_signal_count): New vars.
|
|
(restore_default_color): Don't bother checking for put_indicator
|
|
failure.
|
|
(sighandler): Don't handle SIGTSTP; that's another handler now.
|
|
Simply set interrupt_signal to the signal, then exit.
|
|
(stophandler, process_signals): New functions.
|
|
(main): Don't output any color changes until _after_ the signal
|
|
handlers are set up. This fixes a race condition where 'ls'
|
|
could be interrupted while initializing colors, and leaving the
|
|
terminal in an undesirable state.
|
|
Don't mess with signal-handling if standard output is not a
|
|
controlling terminal.
|
|
When exiting, restore the default color, then restore the
|
|
default signal handling, then act on any signals that weren't
|
|
acted on yet.
|
|
Do not print //DIRED// etc. in colors; this avoids the need
|
|
to catch signals when printing them.
|
|
(print_name_with_quoting): Process signals just before switching
|
|
color back to non_filename_text.
|
|
|
|
2004-04-23 Jim Meyering <jim@meyering.net>
|
|
|
|
Avoid segfault on systems for which SIZE_MAX != (size_t) -1.
|
|
* src/ls.c (quote_name): Use SIZE_MAX, not -1, in calls
|
|
of quotearg_buffer. Patch by Mikulas Patocka.
|
|
|
|
2004-04-18 Paul Eggert <eggert@twinsun.com>
|
|
|
|
tee ignored SIGPIPE, but POSIX doesn't allow this.
|
|
|
|
* src/tee.c (main): Do not ignore SIGPIPE, as POSIX 1003.1-2001
|
|
does not allow this. This undoes the 1996-10-24 patch.
|
|
|
|
2004-04-18 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Signal-handling cleanup for coreutils. Here are the highlights:
|
|
|
|
- csplit sometimes failed to remove files when interrupted.
|
|
- csplit didn't clean up if two signals arrived nearly simultaneously.
|
|
- install -s would infloop on System V if SIGCHLD was ignored.
|
|
- ls could incorrectly restore color if multiple signals
|
|
arrived nearly simultaneously.
|
|
|
|
* src/csplit.c (sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]:
|
|
Define.
|
|
(filename_space, prefix, suffix, digits, files_created, remove_files):
|
|
Now volatile.
|
|
(caught_signals): New var.
|
|
(cleanup): Block signals while deleting all files.
|
|
(cleanup_fatal, handle_line_error, regexp_error):
|
|
Mark with ATTRIBUTE_NORETURN.
|
|
(create_output_file, close_output_file, interrupt_handler):
|
|
Block signals while changing the number of output files,
|
|
to fix some race conditions.
|
|
(delete_all_files): Do nothing if remove_files is zero.
|
|
Clear files_created.
|
|
(main): Don't mess with signals until after argument processing
|
|
is done.
|
|
|
|
* src/csplit.c (main): Rewrite signal-catching code to make it
|
|
similar to other coreutils programs. When processing signals,
|
|
block all signals that we catch, but do not block signals that we
|
|
don't catch. Avoid problems with unsigned int warnings.
|
|
* src/ls.c (main): Likewise.
|
|
* src/sort.c (main): Likewise.
|
|
|
|
* src/csplit.c (interrupt_handler):
|
|
Use void, not (obsolete) RETSIGTYPE.
|
|
* src/shred.c (sigill_handler, isaac_seed_machdep): Likewise.
|
|
|
|
* src/csplit.c (interrupt_handler) [defined SA_NOCLDSTOP]:
|
|
Use simpler "signal (sig, SIG_DFL)" rather than sigaction equivalent.
|
|
* src/ls.c (sighandler) [defined SA_NOCLDSTOP]: Likewise.
|
|
* src/sort.c (sighandler) [defined SA_NOCLDSTOP]: Likewise.
|
|
* src/nohup.c (main) [!defined _POSIX_SOURCE]: Likewise, except
|
|
for SIG_IGN.
|
|
* src/tee.c (main) [!defined _POSIX_SOURCE]: Likewise.
|
|
|
|
* src/install.c: Include <signal.h>.
|
|
(main) [defined SIGCHLD]: Set SIGCHLD handler to the default, if -s is
|
|
given, since System V fork+wait does not work if SIGCHLD is ignored.
|
|
|
|
* src/ls.c (sighandler) [!defined SA_NOCLDSTOP]: Reset signal
|
|
handler to self, not to SIG_IGN, since SIGTSTP can be received
|
|
more than once.
|
|
(main): Use SA_RESTART, as that is simpler than checking for EINTR
|
|
failures all over the place.
|
|
|
|
2004-04-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/remove.c (is_empty_dir): Clarify comment.
|
|
|
|
* man/help2man: Accept new option: --program-name=NAME, so that we
|
|
can override the one in --version output. This is needed solely
|
|
so that test.1 doesn't refer to `[' as the program name.
|
|
Reported by Benjamin Cutler as http://bugs.debian.org/205251.
|
|
* man/Makefile.am (.x.1): Use help2man's new --program-name option.
|
|
|
|
* src/pwd.c: Don't include pathmax.h; system.h already does it.
|
|
|
|
* src/cut.c (cut_fields): Free buffer upon getndelim2 failure.
|
|
|
|
2004-04-19 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/shred.c (isaac_seed_start) [AVOID_USED_UNINITIALIZED_WARNINGS]:
|
|
Initialize a buffer to avoid warnings from tools like valgrind.
|
|
|
|
* Makefile.maint (sc_trailing_blank): New rule.
|
|
(syntax-check-rules): Add it.
|
|
* .x-sc_trailing_blank: New file.
|
|
|
|
Make pwd work even if the resulting name is so long that getcwd fails.
|
|
* src/pwd.c: (path_free, path_init, path_prepend): New functions.
|
|
(nth_parent, find_dir_entry, robust_getcwd): New functions.
|
|
(main): First try getcwd, then, upon failure, robust_getcwd.
|
|
|
|
2004-04-18 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/who.c (print_user): Use xrealloc here, rather than
|
|
unchecked realloc. Remove anachronistic casts.
|
|
|
|
* src/remove.c (full_filename_): Don't leak upon failed realloc.
|
|
|
|
* src/system.h (readdir_ignoring_dot_and_dotdot): New inline function,
|
|
from remove.c.
|
|
* src/remove.c (readdir_ignoring_dotdirs): Move function to system.h,
|
|
renaming it. Update uses.
|
|
|
|
2004-04-17 Jim Meyering <jim@meyering.net>
|
|
|
|
* configure.ac: Depend on automake-1.8.3.
|
|
|
|
* src/join.c (add_file_name): Declare function to be `static'.
|
|
(string_to_join_field): Likewise.
|
|
* src/remove.c (ds_init, ds_free): Likewise.
|
|
|
|
* Makefile.maint (sc_prohibit_jm_in_m4): New rule.
|
|
(syntax-check-rules): Add to the list.
|
|
|
|
2004-04-13 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Use page-aligned buffers whenever we bother to do I/O using buffer
|
|
sizes that are tailored for the files.
|
|
|
|
* src/cat.c: Include getpagesize.h.
|
|
* src/copy.c: Likewise.
|
|
* src/shred.c: Likewise.
|
|
* src/split.c: Likewise.
|
|
* src/cat.c (main): Align I/O buffers to page boundaries.
|
|
* src/copy.c (copy_reg): Likewise.
|
|
* src/shred.c (dopass): Likewise.
|
|
* src/split.c (main): Likewise.
|
|
* src/dd.c (ROUND_UP_OFFSET, PTR_ALIGN): Remove.
|
|
All uses replaced by ptr_align.
|
|
* src/od.c (gcd, lcm): Remove; now in system.h.
|
|
* src/system.h (gcd, lcm, ptr_align): New functions, moved from od.c.
|
|
|
|
2004-04-14 Jim Meyering <jim@meyering.net>
|
|
|
|
Remove m4/Makefile.am: it's no longer needed, with newer automake
|
|
* configure.ac (AC_CONFIG_FILES): Remove m4/Makefile.in from the list.
|
|
* Makefile.am (SUBDIRS): Remove `m4' from the list.
|
|
|
|
2004-04-13 Jim Meyering <jim@meyering.net>
|
|
|
|
* configure.ac: Change `jm_' in AC_DEFINE'd names to `gl_'.
|
|
|
|
2004-03-27 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS: cp -pu and mv -u (when copying) now take the destination
|
|
file system time stamp resolution into account.
|
|
* doc/coreutils.texi (mv invocation): Document this.
|
|
(cp invocation): Document -u (it was missing!) with new behavior.
|
|
|
|
* src/copy.c: Include "utimecmp.h".
|
|
(copy_internal): Compare time stamps using utimecmp rather than
|
|
MTIME_CMP.
|
|
|
|
2004-04-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (.re-list): New rule/file, to replace
|
|
hard-coded list of header file names.
|
|
(sc_system_h_headers): Use the new file.
|
|
Don't look for sys2.h anymore.
|
|
|
|
* src/system.h: Include new "stat-macros.h" rather than hard-coding
|
|
all of its macro definitions -- the list was slightly out of date.
|
|
Suggestion from Dmitry V. Levin.
|
|
|
|
2004-04-08 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* NEWS: Remove noctty flag from dd. Suggested by Philippe Troin.
|
|
* doc/coreutils.texi (dd invocation): Likewise.
|
|
* src/shred.c (O_NOCTTY): Remove redundant decl.
|
|
* src/dd.c (flags, usage): Remove noctty flag.
|
|
(main): Always use O_NOCTTY when opening files.
|
|
|
|
2004-04-08 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/dd.c (dd_copy): Mark two diagnostics for translations.
|
|
(set_fd_flags): Undo part of today's change: it's a little
|
|
cleaner -- and more efficient in the common case -- to go
|
|
ahead and OR in the -1 when fcntl fails.
|
|
|
|
* Makefile.maint (sc_dd_max_sym_length): New target.
|
|
(syntax-check-rules): Add it.
|
|
|
|
* src/md5sum.c (PROGRAM_NAME) [algorithm == ALG_SHA1]:
|
|
Correct spelling: s/shasum/sha1sum. Reported by Jesse Kornblum.
|
|
|
|
* src/dd.c (set_fd_flags): Don't OR in -1 when fcntl fails.
|
|
Rename parameter, flags, to avoid shadowing global.
|
|
(LONGEST_SYMBOL): Tweak comment.
|
|
|
|
2004-04-07 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS: New dd conv= symbols nocreat, excl, fdatasync, fsync,
|
|
and new dd options iflag= and oflag=.
|
|
* src/dd.c (usage): Likewise.
|
|
* src/Makefile.am (dd_LDADD, shred_LDADD): Add fdatasync's lib.
|
|
* src/dd.c (fdatasync) [!HAVE_FDATASYNC]: New macro.
|
|
(C_NOCREAT, C_EXCL, C_FDATASYNC, C_FSYNC): New macros.
|
|
(input_flags, output_flags): New vars.
|
|
(LONGEST_SYMBOL): New macro.
|
|
(struct symbol_value): Renamed from struct conversion. Members
|
|
symbol and value renamed from convname and conversion. The
|
|
symbol value is now an array instead of a pointer; this saves
|
|
a bit of space and time in practice. All uses changed.
|
|
(conversions): Add nocreat, excl, fdatasync, fsync. Now const.
|
|
(flags): New constant array.
|
|
(iflag_error_msgid, oflag_error_msgid): New constants.
|
|
(parse_symbols): Renamed from parse_conversion and generalized
|
|
to handle either conversion or flag symbols.
|
|
(scanargs): Adjust uses of parse_symbols accodingly. Add
|
|
support for iflag= and oflag=. Reject attempts to use
|
|
both excl and nocreat.
|
|
(set_fd_flags): New function.
|
|
(dd_copy): Just return X rather than calling quit (X), since our
|
|
caller invokes quit with the returned value. Add support for
|
|
fdatasync and fsync.
|
|
(main): Add support for iflag=, oflag=, and new conv= symbols.
|
|
* src/system.h (O_DIRECT, O_DSYNC, O_NDELAY, O_NOFOLLOW,
|
|
O_RSYNC, O_SYNC): Define to 0 if not already defined.
|
|
|
|
* NEWS: Remove duplicate mention of BLOCKSIZE.
|
|
|
|
2004-04-02 Andreas Schwab <schwab@suse.de>
|
|
|
|
* src/stty.c: Add support for IUTF8 input flag.
|
|
|
|
2004-04-06 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/system.h (makedev) [mkdev && !makedev]: Define in terms of mkdev.
|
|
Interix spells it `mkdev'. Reported by Mark Funkenhauser.
|
|
|
|
2004-04-04 Jim Meyering <jim@meyering.net>
|
|
|
|
A specified format is no longer automatically newline terminated.
|
|
If you want a newline at the end of your format, use `\n'.
|
|
* src/stat.c (print_it): Don't print a newline at the end of
|
|
every format.
|
|
(do_statfs): Add a newline at end of each default format string.
|
|
|
|
2004-03-30 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/nohup.c (main): Adjust to new calling convention
|
|
for set_cloexec_flag.
|
|
|
|
2004-03-31 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/Fetish.pm (run_tests): Remove `.orig' file.
|
|
Remove debugging diagnostic.
|
|
|
|
Specifying an invalid --width=N (-w) or --gap-size=N (-g)
|
|
would not elicit an error.
|
|
* src/ptx.c: Include "xstrtol.h" and "quotearg.h".
|
|
(main): Don't use atoi. Use xstrtoul instead.
|
|
|
|
2004-03-30 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (sc_prohibit_atoi_atof): New rule.
|
|
(syntax-check-rules): Add it.
|
|
* .x-sc_prohibit_atoi_atof: New file.
|
|
|
|
2004-03-29 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/du/files0-from: Use new OUT_SUBST directive, so that this
|
|
test is not sensitive to system-dependent block size differences.
|
|
Prompted by a report of Solaris 8 differences from Paul Eggert.
|
|
|
|
* tests/Fetish.pm: Accept new directives: OUT_SUBST, ERR_SUBST.
|
|
Rename `%tmp' to `%actual'. Reverse order of last two args to
|
|
_compare_files (to $actual, $expected) so as to match declaration.
|
|
|
|
2004-03-28 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Fix some gotchas encountered when porting to Solaris 8, using
|
|
the Forte 6u2 compiler.
|
|
|
|
* src/hostname.c [HAVE_SETHOSTNAME && !defined sethostname]:
|
|
Declare sethostname, since no Solaris header does it.
|
|
* src/who.c: Include "vasprintf.h", for asprintf.
|
|
|
|
2004-03-28 Jim Meyering <jim@meyering.net>
|
|
|
|
Minor optimization:
|
|
* src/du.c (process_file): Don't record dev/inode for directories.
|
|
|
|
Under some circumstances, without -c, du would mistakenly count the
|
|
space of hard-linked files, not just the first one it encountered.
|
|
Reported by Anthony Thyssen.
|
|
* src/du.c (du_files): Don't ever clear the set of `seen' dev/inodes.
|
|
|
|
* src/du.c: Rename global `print_totals' to `print_grand_total'.
|
|
|
|
* src/du.c (main): Rearrange filtering loop to be a tiny bit
|
|
more efficient.
|
|
|
|
* src/chown-core.c: Don't include savedir.h -- no longer needed.
|
|
* src/chmod.c: Likewise.
|
|
|
|
2004-03-25 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/du.c (main): Remove now-unused declaration of `i'.
|
|
|
|
2004-03-24 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/du.c (main): Filter out file names of length zero before
|
|
invoking fts, so that they don't cause fatal errors.
|
|
|
|
2004-03-25 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/du/files0-from (zero-len): Add a test for the above.
|
|
|
|
2004-02-25 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS: New environment var BLOCKSIZE.
|
|
* lib/human.c (humblock): Support BLOCKSIZE as well as BLOCK_SIZE.
|
|
* tests/envvar-check: Test for it. Factor the code to simplify it.
|
|
|
|
2004-03-23 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS: Shorten the du --files0-from announcement, and say
|
|
"NUL-terminated" rather than "NUL-separated".
|
|
* src/du.c (EXPECTED_BYTES_PER_FILE_NAME, DEFAULT_PROJECTED_N_FILES):
|
|
Remove: not used.
|
|
(usage): Say "NUL-terminated", not "NUL-separated".
|
|
(main): Check for I/O error when istream is closed.
|
|
Allow --files0-from=F even if F is empty; this specifies no files.
|
|
(du_files): Now that we allow the list of files to be empty,
|
|
handle that case.
|
|
* tests/du/files0-from: Adjust to above changes to src/du.c.
|
|
|
|
2004-03-24 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/tail-2/assert: Avoid race condition that could cause
|
|
spurious failure. Based on a patch from Andreas Schwab.
|
|
|
|
2004-03-23 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/du.c (main): Free the hash table, too.
|
|
|
|
2004-03-22 Jim Meyering <jim@meyering.net>
|
|
|
|
* man/Makefile.am (.x.1): Remove --info-page= option, reverting
|
|
the change of 2004-01-22. I can no longer reproduce the problem
|
|
that prompted that change, and `info coreutils pr' would display the
|
|
`printing text' section of the manual, not the one on `pr invocation'.
|
|
|
|
* tests/du/files0-from (nul-1, nul-2): Adjust expected diagnostics
|
|
to match corrected output.
|
|
|
|
* src/du.c: Include "readtokens0.h" rather than "readtokens.h".
|
|
(main): Use readtoken0 functions rather than readtokens.
|
|
Don't use errno when diagnosing readtokens0 failure.
|
|
Fix off-by-one error in the token number reported in a diagnostic.
|
|
(du_files): Return bool, rather than int.
|
|
(main): Call readtokens0_free.
|
|
|
|
2004-03-21 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/remove.c (ds_free): Plug a small leak.
|
|
|
|
* tests/Fetish.pm: Fix typo in comment.
|
|
|
|
2004-03-07 Jim Meyering <jim@meyering.net>
|
|
|
|
* NEWS: du accepts a new option --files0-from=FILE, where FILE
|
|
contains a list of NUL-separated file names.
|
|
|
|
* src/du.c: Include "readtokens.h".
|
|
(usage): Describe the new option, and adjust the `Usage':
|
|
with this option, no FILE may be specified on the command line.
|
|
(main): Handle the new option.
|
|
|
|
* tests/du/files0-from: New tests, for the above.
|
|
* tests/du/Makefile.am (TESTS): Add files0-from.
|
|
|
|
* src/factor.c (do_stdin): Reflect changes in use of readtoken.
|
|
* src/tsort.c (tsort): Likewise.
|
|
|
|
2004-02-29 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS: Add support for a new notation @N to get_date to represent
|
|
the time stamp with numeric value N. Improve support for
|
|
fractional time stamps. date's -d and -f options now accept them.
|
|
Likewise for touch -t. date has a new option --iso-8601=ns.
|
|
|
|
* doc/coreutils.texi (touch invocation):
|
|
Describe use of fractional seconds.
|
|
(date invocation, Options for date): Likewise.
|
|
* doc/getdate.texi (General date syntax, Time of day items): Likewise.
|
|
* doc/coreutils.texi (date invocation): Mention effect of LC_TIME.
|
|
(Options for date): Describe new --iso-8601=ns option.
|
|
|
|
* doc/getdate.texi: Add copyright notice. Change getdate to
|
|
get_date when talking about the function name.
|
|
(Seconds since the Epoch): New section, containing the time_t
|
|
info moved from Date input formats section, along with new
|
|
info about the @ syntax. Mention negative time stamps,
|
|
fractional time stamps, and leap seconds.
|
|
(General date syntax): Modernize examples a bit to reflect new
|
|
features.
|
|
(General date syntax, Relative items in date strings):
|
|
Use ' rather than " to quote formats.
|
|
(Time of day items): Add an example with fractional seconds.
|
|
Describe fractional-second syntax.
|
|
|
|
* src/Makefile.am (touch_LDADD): New macro, since `touch' now
|
|
needs clock_gettime.
|
|
|
|
* src/date.c (enum Time_spec): New enum TIME_SPEC_NS.
|
|
(time_spec_string, time_spec, show_date): Support it.
|
|
(usage): Remove description of -ITIMESPEC, as it's obsolete and
|
|
confusing. Mention --iso-8601=ns.
|
|
(batch_convert): getline returns ssize_t, not int.
|
|
|
|
* src/touch.c (newtime): Now an array of two timespecs, one
|
|
for access and one for modification.
|
|
(ref_stats): Remove.
|
|
(get_reldate): Use get_date's parameter profile.
|
|
(touch, main): Adjust to above changes.
|
|
(main): Work even if tm_year == INT_MAX (so long as long int is wider).
|
|
Use gettime instead of gettimeofday, for new get_date signature.
|
|
|
|
* tests/date/Test.pm (test_vector): New tests epoch, ns-10, ns-max32,
|
|
ns-relative.
|
|
|
|
2004-03-15 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (alpha beta major): `Make' the emit_upload_commands
|
|
target before updating $(prev_version_file).
|
|
|
|
* tests/misc/date-sec: New file, to test for just-fixed bug in date.
|
|
See today's change in lib/getdate.y.
|
|
* tests/misc/Makefile.am (TESTS): Add date-sec.
|
|
|
|
2004-03-14 Jim Meyering <jim@meyering.net>
|
|
|
|
* announce-gen (print_changelog_deltas): Use `.sig' suffix for
|
|
signature files, not `.asc'. Reported by angico@yahoo.com.
|
|
|
|
2004-03-13 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/cp.c (do_copy): Tweak wording in a diagnostic.
|
|
Suggestion from Karl Berry.
|
|
Include "quoatearg.h".
|
|
(do_copy): Use quotearg_colon (not quote) for diagnostics
|
|
that begin with `"%s:'.
|
|
|
|
* src/nl.c (usage): Specify that nl uses _basic_ regular expressions.
|
|
Suggestion from Dan Jacobson.
|
|
|
|
2004-03-12 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 5.2.1.
|
|
|
|
Sometimes, when source and destination partition are different,
|
|
mv mistakenly fails to preserve a hard link. Reported by IIDA Yosiaki.
|
|
|
|
* src/copy.c: When moving a set of N hard-linked files between
|
|
partitions, via two or more command line arguments where the
|
|
command line argument containing the Nth link contains no other
|
|
link to that same file, mv would mistakenly copy the file, rather
|
|
than hard-linking it to the other(s). That happens because when the
|
|
final link is processed, its link count has been reduced to 1 since
|
|
the other links have been `copied' to the destination partition
|
|
and the source links have been removed.
|
|
(copy_internal): When in move mode, use the source dev/inode
|
|
pair to look up destination name even when st_nlink == 1.
|
|
* src/cp-hash.c (src_to_dest_lookup): New function.
|
|
* src/cp-hash.h (src_to_dest_lookup): Add prototype.
|
|
* tests/mv/part-hardlink: New file. Test for the above fix.
|
|
* tests/mv/Makefile.am (TESTS): Add part-hardlink.
|
|
|
|
* announce-gen: Sync with autoconf.
|
|
|
|
* tests/ls/time-1: Exit 77 (not 1) if we can't set up for the test.
|
|
This was triggered on a Linux-2.2.19 system using a file system
|
|
NFS-mounted from some sort of Sun.
|
|
|
|
2004-03-11 Jim Meyering <jim@meyering.net>
|
|
|
|
* Use automake-1.8.3. Regenerate dependent files.
|
|
|
|
2004-03-10 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/du/deref-args: Also convert sizes in the 70-79 kB range,
|
|
so that this test works with SELinux-enabled systems.
|
|
Based on a patch from Tim Waugh.
|
|
|
|
`join -1 x' would give a misleading diagnostic
|
|
* src/join.c (string_to_join_field): Report that a non-numeric field
|
|
number is invalid, rather than `so large that it is not representable'.
|
|
* tests/join/Test.pm (invalid-j): New partial test for the above fix.
|
|
|
|
2004-03-06 Jim Meyering <jim@meyering.net>
|
|
|
|
cp --sparse=always sparse-image-file.img /dev/hda1 could
|
|
produce an invalid copy on the destination device.
|
|
|
|
* src/copy.c (copy_reg): Even with --sparse=always, try to
|
|
make `holes' only if the destination is a regular file.
|
|
Reported by Szakacsits Szabolcs.
|
|
|
|
2004-03-03 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/nohup.c (main): Don't invoke set_cloexec_flag with
|
|
a file descriptor of -1.
|
|
|
|
2004-03-02 Dmitry V. Levin <ldv@altlinux.org>
|
|
|
|
* src/nohup.c: Include "cloexec.h".
|
|
(main): Set the copy of stderr to close on exec.
|
|
|
|
2004-03-01 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* configure.ac: Include <signal.h> when checking for strsignal,
|
|
sys_siglist, and friends. Problem reported by Tony Leneis in
|
|
<http://mail.gnu.org/archive/html/bug-coreutils/2004-02/msg00136.html>.
|
|
|
|
2004-02-25 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* tests/du/deref-args, tests/du/exclude, tests/du/slash:
|
|
* tests/du/trailing-slash: Run envvar-check in case BLOCK_SIZE
|
|
etc. are set.
|
|
|
|
2004-02-23 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS: Document how chown's USER.GROUP argument is now parsed.
|
|
|
|
2004-02-23 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/seq.c (usage): Remove stray space after \n in --help output.
|
|
|
|
2004-02-22 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/du.c (usage): Separate -H and --si. Say that the meaning
|
|
of -H will soon change to that of --dereference-args (-D).
|
|
|
|
2004-02-21 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/comm.c (usage): Tell what comm does when there are no options.
|
|
Reword in terms of FILE1 and FILE2 rather than `left file' and
|
|
`right file'. Suggestion from Dan Jacobson.
|
|
|
|
2004-02-15 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Fix some POSIX-conformance bugs in expr.
|
|
|
|
* NEWS: document the following changes to src/expr.c.
|
|
* doc/coreutils.texi (expr invocation): Likewise.
|
|
Document what forms integers may take, and say "integer"
|
|
consistently instead of "number". Warn about operands
|
|
that "expr" can misinterpret, and how to work around the
|
|
problem.
|
|
* src/expr.c (eval, eval7, eval6, eval5, eval4, eval3, eval2, eval1):
|
|
Accept a bool argument specifying whether to evaluate the
|
|
expression. This is to allow short-circuit evaluation. All
|
|
callers changed.
|
|
(null): Report that a string is zero even if it has
|
|
a form like "-0" or "00".
|
|
(eval1, eval): Use short-circuit evaluation for | and &.
|
|
(eval): Return 0 if both arguments are null or zero, instead
|
|
of returning the first argument.
|
|
* tests/expr/basic: Add some tests for the above.
|
|
|
|
2004-02-17 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 5.2.0.
|
|
|
|
`make check' from a build inside a chroot environment would fail
|
|
* tests/help-version: Specify an argument (`/') for df, in the
|
|
unusual event that there is no valid entry in /etc/mtab.
|
|
Likewise for id: add the -u option, so we don't get spurious
|
|
failures when there are no user or group names.
|
|
Patch by Tim Waugh.
|
|
|
|
* src/sort.c (usage) [-u]: Add punctuation so that the description in
|
|
the help2man-generated (line-joined) man page is more readable.
|
|
Reported by Tim Waugh.
|
|
[-T]: Add a semicolon, for the same reason.
|
|
|
|
2004-02-15 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.am (dist-hook): Qualify target with $(srcdir)/ prefix.
|
|
|
|
2004-02-11 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/Makefile.am.in ($(srcdir)/Makefile.am): Use more portable
|
|
$(srcdir)/../Makefile.am.in, rather than $<.
|
|
Suggestion from Michael Elizabeth Chastain.
|
|
|
|
2004-02-10 Jim Meyering <jim@meyering.net>
|
|
|
|
* config/install-sh: Make this script executable.
|
|
* Makefile.am (dist-hook): New target, to ensure that config/install-sh
|
|
is executable. Otherwise, on systems that lack a suitable install
|
|
binary, `make install' would fail, because of the way this script
|
|
is invoked (without `$SHELL ' prefix).
|
|
Reported by Bob Proulx.
|
|
|
|
2004-02-08 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 5.1.3.
|
|
|
|
* tests/rm/rm5: Avoid triggering a bug in OSF/Tru64's sed
|
|
that would cause an unwarranted test failure.
|
|
* tests/rm/rm3: Likewise.
|
|
|
|
2004-02-07 Jim Meyering <jim@meyering.net>
|
|
|
|
Remove xstat function pointer member. The way it was used was not
|
|
portable, since some systems (OSF V5.1, Solaris 2.5.1) provide static
|
|
inline `stat' and `lstat' functions, thus making the tests of
|
|
`xstat == lstat' in copy.c always fail.
|
|
* src/copy.h (struct cp_options) [xstat]: Remove member.
|
|
(XSTAT): New macro.
|
|
* src/copy.c (copy_dir): Set `.dereference' member, not .xstat.
|
|
(copy_internal): Use `XSTAT (x, ...)' in place of `*(x->xstat) (...)'.
|
|
Use `x->dereference == DEREF_NEVER' in place of `x->xstat == lstat'.
|
|
(valid_options): Remove now-obsolete FIXME comments.
|
|
|
|
* src/cp.c (re_protect): Use `XSTAT (x, ...)' in place of
|
|
`*(x->xstat) (...)'.
|
|
(do_copy): Declare/use local xstat rather than x->xstat.
|
|
(main): Remove code that set x.xstat.
|
|
* src/mv.c (cp_option_init): Don't initialize xstat member.
|
|
* src/install.c (cp_option_init): Likewise.
|
|
|
|
* Makefile.cfg (gnu_ftp_host-alpha, etc.): Un-factor .gnu.org suffix,
|
|
so that emit_upload_commands can use these variables, too.
|
|
|
|
2004-02-06 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/rm/deep-1: Remove `du' stack space test.
|
|
Apparently, `ulimit -s N' isn't portable enough.
|
|
This test will be restored (with a guard against losing ulimit)
|
|
in its own file later.
|
|
|
|
* tests/rm/deep-1 (deep): Remove progress-style diagnostics,
|
|
since this test doesn't take long enough to merit them.
|
|
Run du on $tmp (the containing dir), not $deep, the full path to leaf.
|
|
|
|
* Makefile.maint (signatures): Remove definition.
|
|
Now, automake's gnupload handles this.
|
|
(%.sig: %): Remove now-unused rule.
|
|
(rel-files): Use automake's $(DIST_ARCHIVES), rather than
|
|
`$(distdir).tar.bz2 $(distdir).tar.gz'.
|
|
(emit-upload-commands): Adjust to use gnupload.
|
|
|
|
2004-02-05 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/system.h (ST_TIME_CMP_NS, ST_TIME_CMP): Remove definitions.
|
|
(ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
|
|
Now, those are all defined in timespec.h.
|
|
Include timespec.h.
|
|
|
|
* src/date.c: Don't include timespec.h, now that system.h does it.
|
|
|
|
2004-02-02 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Don't dump core if localtime returns NULL (possible on
|
|
hosts with 64-bit time_t and 32-bit int).
|
|
* src/date.c: Include "inttostr.h".
|
|
(batch_convert, main):
|
|
If time conversion fails, exit with nonzero status.
|
|
(show_date): Return int to report conversion failure.
|
|
Print the time as an int if localtime fails.
|
|
* src/uptime.c: Print "??" if the current clock can't
|
|
be converted by localtime. This won't happen until the year
|
|
2*31 + 1900, but we don't want to dump core even if the current
|
|
clock has the wrong value.
|
|
|
|
* src/stat.c: Include "inttostr.h".
|
|
(human_time): Print the date/time as a number of seconds since the
|
|
epoch if it can't be converted by localtime. This is better than
|
|
just saying "invalid", and is consistent with what "ls" does.
|
|
Don't dump core if the year has more than 48 digits; this isn't
|
|
possible on any contemporary host, but we might as well do it right.
|
|
|
|
2004-01-31 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/stat.c (human_time): Accept time rather than
|
|
pointer-to-const-time parameter, for clarity. All callers changed.
|
|
|
|
2004-02-02 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/stat.c (do_stat): Remove extra trailing newline from
|
|
default formats. Reported by Nelson H. F. Beebe.
|
|
|
|
Print actual fractional seconds in time stamps, not just `.00000000'.
|
|
* src/stat.c (human_time): Add and use new parameter, t_ns.
|
|
(print_stat): Update callers.
|
|
* src/ls.c (TIMESPEC_NS): Remove definition.
|
|
* src/system.h (TIMESPEC_NS): Define here, instead, now that stat.c
|
|
also uses this macro.
|
|
Nelson H. F. Beebe noticed that ls --full-time printed nonzero
|
|
fractional seconds for files on an XFS file system, but that stat's
|
|
fractional seconds were always zero.
|
|
|
|
2004-01-28 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/seq.c (print_numbers): Use 'double' for loop index, not
|
|
'int', to avoid problems with integer overflow. On almost all
|
|
machines 'double' works in every case where 'int' works, and
|
|
it works on other cases besides.
|
|
|
|
2004-01-27 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/seq.c (usage): Mention that if INCREMENT is omitted,
|
|
it defaults to 1, even when FIRST is larger than LAST.
|
|
Reword so as not to exclude the possibility that INCREMENT be zero.
|
|
|
|
2004-01-25 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 5.1.2.
|
|
|
|
* Makefile.maint (signatures): Comment out definition.
|
|
|
|
2004-01-23 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (header_regexp): Add exitfail.
|
|
|
|
* man/Makefile.am (EXTRA_DIST): Add help2man.
|
|
Reported by Nelson H. F. Beebe.
|
|
|
|
* man/Makefile.am (.x.1): Prefix help2man invocation with `$(PERL) --'
|
|
so it works on systems with Perl installed somewhere other than in
|
|
/usr/bin.
|
|
|
|
* src/paste.c (paste_parallel): Declare local, chr, to be of type
|
|
`int', not `char', since it must hold EOF. This bug would make
|
|
paste infloop on some systems. Test failures reported by
|
|
Nelson H. F. Beebe and Christian Krackowizer.
|
|
|
|
2004-01-22 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/rmdir/fail-perm: New file. Test for just-fixed rmdir bug.
|
|
* tests/rmdir/Makefile.am (TESTS): Add fail-perm.
|
|
|
|
* man/help2man: Fix it so using --info-page='coreutils PROG' works.
|
|
* man/Makefile.am (.x.1): Invoke our own (tweaked) copy of help2man.
|
|
Use --info-page='coreutils PROG' option.
|
|
Now, readlink.1 refers the user to `info coreutils readlink'
|
|
rather than to `info readlink'. Reported by Matt Swift.
|
|
|
|
2004-01-21 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Exit status cleanup.
|
|
|
|
* src/basename.c (usage): Use EXIT_SUCCESS, not 0, for clarity.
|
|
* src/cat.c, src/chgrp.c, src/chmod.c, src/chown.c, src/chroot.c,
|
|
* src/cksum.c, src/comm.c, src/cp.c, src/csplit.c, src/cut.c,
|
|
* src/date.c, src/dd.c, src/df.c, src/dircolors.c, src/dirname.c,
|
|
* src/du.c, src/echo.c, src/env.c, src/expand.c, src/expr.c,
|
|
* src/factor.c, src/fmt.c, src/fold.c, src/head.c, src/hostid.c,
|
|
* src/hostname.c, src/id.c, src/install.c, src/join.c, src/kill.c,
|
|
* src/link.c, src/ln.c, src/logname.c, src/ls.c, src/md5sum.c,
|
|
* src/mkdir.c, src/mkfifo.c, src/mknod.c, src/mv.c, src/nice.c,
|
|
* src/nl.c, src/nohup.c, src/od.c, src/paste.c, src/pathchk.c,
|
|
* src/pinky.c, src/pr.c, src/printenv.c, src/printf.c, src/pwd.c,
|
|
* src/rm.c, src/rmdir.c, src/seq.c, src/setuidgid.c, src/shred.c,
|
|
* src/sleep.c, src/sort.c, src/split.c, src/stat.c, src/stty.c,
|
|
* src/su.c, src/sum.c, src/sync.c, src/tac.c, src/tail.c, src/tee.c,
|
|
* src/test.c, src/touch.c, src/tr.c, src/tsort.c, src/tty.c,
|
|
* src/uname.c, src/unexpand.c, src/uniq.c, src/unlink.c, src/uptime.c,
|
|
* src/users.c, src/wc.c, src/who.c, src/whoami.c, src/yes.c: Likewise.
|
|
|
|
* src/cat.c (usage): Don't bother normalizing exit status
|
|
since the arg is already the correct exit status now.
|
|
* src/cksum.c, src/comm.c, src/csplit.c, src/cut.c,
|
|
* src/dircolors.c, src/expand.c, src/fmt.c, src/fold.c, src/head.c,
|
|
* src/join.c, src/md5sum.c, src/nl.c, src/od.c, src/paste.c,
|
|
* src/pr.c, src/split.c, src/sum.c, src/tac.c, src/tail.c, src/tr.c,
|
|
* src/tsort.c, unexpand.c, src/src/uniq.c, src/src/wc.c: Likewise.
|
|
|
|
* src/chown.c (main): Removed unused local 'fail'.
|
|
|
|
* src/chroot.c (CHROOT_FOUND_BUT_CANNOT_INVOKE, CHROOT_FAILURE):
|
|
Remove.
|
|
|
|
* src/chroot.c (main): Initialize exit_failure to EXIT_FAIL.
|
|
* src/env.c, src/nice.c, src/su.c: Likewise.
|
|
* src/nohup.c (main): Likewise, to NOHUP_FAILURE.
|
|
* src/setuidgid.c (main): Likewise, to SETUIDGID_FAILURE.
|
|
* src/expr.c (main): Use initialize_exit_failure rather than
|
|
setting exit_failure directly; this optimizes away redundant
|
|
assignments.
|
|
* src/printenv.c, src/sort.c, src/test.c, src/tty.c: Likewise.
|
|
|
|
* src/chroot.c (main): Exit with status 1 rather than 127
|
|
if chroot itself fails, as per documentation.
|
|
|
|
* src/chroot.c (main): Use EXIT_ENOENT and EXIT_CANNOT_INVOKE
|
|
rather than roll-your-own symbols or integers.
|
|
* src/env.c (main): Likewise.
|
|
* src/nohup.c (main): Likewise.
|
|
* src/su.c (run_shell): Likewise.
|
|
|
|
* src/cp.c (exit_status): Remove static var....
|
|
(main): Making it local here instead. Use =, not |=, to set it.
|
|
|
|
* src/cut.c (FATAL_ERROR, main): Exit with status EXIT_FAILURE,
|
|
not 2, on errors.
|
|
* src/date.c (batch_convert, main): Likewise.
|
|
* src/dd.c (dd_copy): Likewise.
|
|
* src/pr.c (first_last_page, main, getoptarg): Likewise.
|
|
* src/tr.c (main): Likewise.
|
|
* src/date.c (main): Don't assume EXIT_FAILURE == 1, as
|
|
POSIX doesn't require it.
|
|
* src/dd.c (write_output, skip, dd_copy): Likewise.
|
|
* src/df.c (main): Likewise.
|
|
* src/id.c (main): Likewise.
|
|
* src/install.c (main): Likewise.
|
|
* src/ln.c (main): Likewise.
|
|
* src/ls.c (main): Likewise.
|
|
* src/mv.c (main): Likewise.
|
|
* src/shred.c (main): Likewise.
|
|
|
|
* src/env.c (main): Exit with status 1, not 2, on errors detected
|
|
by env proper.
|
|
* src/hostname.c (main): Likewise.
|
|
* src/nl.c (main): Likewise.
|
|
* src/stty.c (main): Likewise.
|
|
|
|
* src/expr.c (EXPR_FAILURE): Renamed from EXPR_ERROR, for
|
|
consistency with the other programs' naming conventions.
|
|
All uses changed.
|
|
|
|
* src/factor.c (main): Do not report a usage error simply
|
|
because stdin has bad numbers.
|
|
|
|
* src/id.c (problems): Now a boolean int, not a counter,
|
|
so that we don't have to worry about int overflow. All uses changed.
|
|
* src/touch.c (err): Likewise.
|
|
|
|
* src/md5sum.c (main): Use int, not size_t, to store boolean int.
|
|
|
|
* src/mkfifo.c (main): Exit with status 1, not 4, if not implemented.
|
|
* src/mknod.c: Likewise.
|
|
|
|
* src/nice.c (main): Exit with status EXIT_FAIL, not EXIT_FAILURE,
|
|
on error; this is in case EXIT_FAILURE is unusual.
|
|
* src/su.c (main): Likewise.
|
|
|
|
* src/nohup.c (NOHUP_FOUND_BUT_CANNOT_INVOKE): Remove; all uses
|
|
changed to EXIT_CANNOT_INVOKE.
|
|
|
|
* src/printenv.c (PRINTENV_FAILURE): New constant.
|
|
(main): Exit with status PRINTENV_FAILURE, not EXIT_FAILURE, on
|
|
command-line syntax problems.
|
|
|
|
* src/rmdir.c (remove_parents): Don't set 'fail' to a negative number.
|
|
(main): Avoid integer overflow when seeing whether errors occurred.
|
|
|
|
* src/seq.c (print_numbers): Now returns void, not (zero) int.
|
|
All callers changed.
|
|
(main): Remove unused local variable 'errs'. Always exit successfully
|
|
if we reach the end.
|
|
|
|
* src/setuidgid.c (SETUIDGID_FAILURE): Renamed from FAIL_STATUS,
|
|
for consistency with other programs here. All uses changed.
|
|
(main): Use 'error' to exit rather than invoking 'exit' here.
|
|
|
|
* src/sort.c: Don't include <assert.h>.
|
|
(SORT_OUT_OF_ORDER, SORT_FAILURE): Now enums, not macros.
|
|
(usage): Don't use 'assert'.
|
|
(main): Remove redundant assignment to exit_failure.
|
|
|
|
* src/system.h (EXIT_FAIL, EXIT_CANNOT_INVOKE, EXIT_ENOENT):
|
|
New enum values.
|
|
(initialize_exit_failure): New inline function.
|
|
Include exitfail.h here, since we refer to exit_failure.
|
|
All callers changed to not include exitfail.h.
|
|
|
|
* src/tty.c (TTY_FAILURE, TTY_WRITE_ERROR): New enum values;
|
|
substitute them for the corresponding integer constants.
|
|
|
|
* tests/help-version (expected_failure_status_date): Remove, as
|
|
'date' is now normal.
|
|
(expected_failure_status_nohup): New var.
|
|
|
|
2004-01-21 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/touch/relative: Remove `command' syntax.
|
|
Thanks to Nelson H. F. Beebe and Paul Eggert.
|
|
|
|
* tests/touch/relative: Test only year/month/day, not hours/min/sec,
|
|
so as to avoid problems with systems using TAI clocks.
|
|
Although it's no longer necessary, set TZ=UTC0 also for the
|
|
initial touch command. Reported by Paul Jarc here:
|
|
http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/1504
|
|
|
|
2004-01-20 Diego Biurrun <diego@biurrun.de>
|
|
|
|
* src/dircolors.hin: Add .mov to the list of media files.
|
|
|
|
2004-01-19 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* tests/touch/relative: Use TZ=UTC0, not TZ=utc (which isn't
|
|
portable). Problem reported by Christian Krackowizer. Also, use
|
|
+0000 rather than +0 to specify a time zone, as the documentation
|
|
requires four digits.
|
|
|
|
2004-01-19 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/mv/hard-4: Run envvar-check in case SIMPLE_BACKUP_SUFFIX is set.
|
|
* tests/mv/backup-is-src: Likewise.
|
|
Problem reported by Peter Horst
|
|
|
|
2004-01-17 Jim Meyering <jim@meyering.net>
|
|
|
|
* announce-gen (print_changelog_deltas): Use .sig suffix, not .asc.
|
|
|
|
* Version 5.1.1.
|
|
|
|
2003-12-15 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS, doc/coreutils.texi: touch -r and -d can now both be specified,
|
|
with -r specifying the origin for -d.
|
|
* src/touch.c (flexible_date): Remove static var.
|
|
(get_reldate): New function.
|
|
(main): Use it, to implement this new behavior.
|
|
|
|
2004-01-16 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/touch/relative: New test for the above.
|
|
* tests/touch/Makefile.am (TESTS): Add relative.
|
|
|
|
2004-01-13 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/system.h: Include contents of sys2.h.
|
|
* src/sys2.h: Remove file.
|
|
* src/Makefile.am (noinst_HEADERS): Remove sys2.h.
|
|
|
|
* Use automake-1.8.2. Regenerate dependent files.
|
|
|
|
* Update to gettext-0.13.1.
|
|
* configure.ac: Use gettext-0.13.1.
|
|
* .x-sc_space_tab: Add m4/po.m4 to the list of exceptions.
|
|
|
|
2004-01-12 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (%.sig): Use .sig suffix rather than .asc.
|
|
|
|
* Makefile.maint (po-check): Ensure that cvsu works before using it.
|
|
Reported by Alexandre Duret-Lutz.
|
|
|
|
* src/tail.c (main): Warn about following stdin only when it's a tty.
|
|
|
|
* configure.ac: Use gl_DEFAULT_POSIX2_VERSION.
|
|
|
|
2004-01-10 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/misc/stat-fmt: Use backticks, not `$()' notation.
|
|
|
|
2004-01-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* configure.ac: Quote underquoted `jm_DUMMY_1' to avoid new warning.
|
|
|
|
2004-01-08 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/stat.c (human_fstype): Use %lx, not %x format for `unsigned long'.
|
|
From Andreas Schwab.
|
|
|
|
* tests/Makefile.am (TESTS_ENVIRONMENT): Remove `/vg' (prerelease test
|
|
remnant) from PATH component. That would cause tests in this directory
|
|
not to run the just-built binaries, but rather whatever happened
|
|
to be in one's PATH. Reported by Christian Krackowizer.
|
|
|
|
2004-01-04 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/csplit.c (new_control_record): Use x2nrealloc
|
|
rather than xrealloc.
|
|
|
|
* src/cp.c (re_protect): Use ASSIGN_STRDUPA rather than
|
|
alloca and strcpy.
|
|
(make_path_private): Likewise.
|
|
|
|
2004-01-03 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/paste.c: Use `bool' (not int) as the type for a few
|
|
global variables.
|
|
(collapse_escapes): Rewrite to set globals rather than modifying
|
|
its parameter.
|
|
Use size_t (not int) for all counters and related index variables.
|
|
(paste_parallel): Remove needless complexity of
|
|
using xrealloc in the loop; just allocate the buffers up front.
|
|
Free the two temporary buffers.
|
|
Move declarations of locals `down' into scope where used.
|
|
(paste_serial): Remove `register' attributes.
|
|
(main): Simplify delim-related code.
|
|
Free `delims', now that it's malloc'd.
|
|
|
|
2004-01-02 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/chroot.c: Include "quote.h".
|
|
(CHROOT_FOUND_BUT_CANNOT_INVOKE, CHROOT_FAILURE): Define.
|
|
(main): Exit with status of 127, not 1, for too-few-args,
|
|
chroot failure, or chdir failure.
|
|
Give a better diagnostic upon execvp failure.
|
|
|
|
* src/du.c (usage): Mention that, with its current meaning,
|
|
-H is deprecated.
|
|
|
|
* src/tail.c (main): Warn about following stdin when it's a tty.
|
|
Fail when following by name but no names are specified.
|
|
|
|
2003-12-30 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/fold.c (main): Use memcpy, not strcpy.
|
|
|
|
* src/copy.c (copy_internal): Use ASSIGN_STRDUPA rather than
|
|
alloca and strcpy.
|
|
|
|
2003-12-28 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/unexpand.c (n_tabs_allocated): New global.
|
|
(add_tabstop): Use x2nrealloc rather than xrealloc.
|
|
* src/expand.c: Likewise.
|
|
|
|
* tests/misc/expand: New file.
|
|
* tests/misc/Makefile.am (TESTS): Add expand.
|
|
|
|
* src/sort.c (add_temp_dir): Use x2nrealloc rather than xrealloc.
|
|
(fillbuf): Use x2nrealloc rather than xrealloc.
|
|
(sort): Use xnmalloc rather than xmalloc.
|
|
(main): Likewise.
|
|
|
|
2003-12-27 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/tee.c (tee): Use xnmalloc rather than xmalloc.
|
|
|
|
2003-12-29 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS: Remove support for join -j1 FIELD, -j2 FIELD, and -o LIST1
|
|
LIST2 in POSIX 1003.1-2001 hosts, as required by POSIX.
|
|
|
|
* doc/coreutils.texi (join invocation): Remove documentation
|
|
accordingly. Document that -t makes all separators significant.
|
|
|
|
* src/join.c: Include posixver.h.
|
|
(obsolete_usage): New var.
|
|
(longopts): Put obsolete options first.
|
|
(OBSOLETE_LONG_OPTIONS): New constant.
|
|
(get_option, add_file_name): New functions.
|
|
(main): Use them to support new behavior.
|
|
(usage): Remove documentation for -j1 FIELD and -j2 FIELD.
|
|
Do not mark -j FIELD as obsolescent; it is longstanding
|
|
UNIX tradition and is a valid extension to POSIX.
|
|
|
|
* tests/join/Test.pm (tv): Avoid obsolete -o usage.
|
|
|
|
2003-12-28 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/join.c (add_field_list): Don't use alloca with unbounded
|
|
size; just modify the argument, which is no longer const *.
|
|
|
|
Various other minor cleanups, mostly to avoid the need for casts.
|
|
|
|
(extract_field): Renamed from ADD_FIELD, as it's now a function.
|
|
|
|
(struct field.beg): Now char *, not unsigned char const *. All
|
|
uses changed. It shouldn't be const since xmemcoll writes on its
|
|
arguments.
|
|
(extract_field): Likewise, for 2nd arg.
|
|
(keycmp): Remove now-unnecessary cast of xmemcoll args.
|
|
|
|
(is_blank): New function, to avoid need to cast arg to unsigned char.
|
|
(extract_field): Use it.
|
|
|
|
(xfields): Rewrite pretty much from scratch.
|
|
|
|
(hard_LC_COLLATE): Now bool, not int.
|
|
(get_line, getseq, add_field_list): Now returns bool, not int.
|
|
(decode_field_spec, add_field_list): Return true on success (not
|
|
false), for consistency with the rest of the code. All uses changed.
|
|
|
|
(tab): Now char, not unsigned char. This wasn't 100% necessary
|
|
but is slightly cleaner.
|
|
(prjoin): Hoist (tab ? tab : ' ') expression, to help the compiler.
|
|
|
|
(empty_filler): Now const *.
|
|
|
|
(make_blank): Remove; wasn't needed. Remove all calls.
|
|
(main): Don't set uni_blank.nfields; zero is fine.
|
|
|
|
2003-12-27 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/join.c: Include "quote.h".
|
|
(min, max): Remove definitions.
|
|
Make a few function parameters and corresponding
|
|
locals `const'. Use bool for boolean variables.
|
|
Use size_t (not int) for all counters and related index variables.
|
|
(prjoin): Remove now-useless assertion.
|
|
(string_to_join_field): New function.
|
|
(main): Accept join fields as large as SIZE_MAX.
|
|
(keycmp): Rename `min' to MIN and max to MAX.
|
|
|
|
2003-12-26 Jim Meyering <jim@meyering.net>
|
|
|
|
fold -s didn't work on e.g., alpha-based systems.
|
|
* src/fold.c (fold_file): Adjust types (int->size_t) so that using
|
|
x2nrealloc works properly on systems with differing sizes for int
|
|
and size_t. Reported by Nelson Beebe.
|
|
|
|
* src/fold.c: Use `bool' (not int) as the type for a few
|
|
global variables.
|
|
|
|
2003-12-23 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/ls.c (length_of_file_names_and_frills):
|
|
Remove forward decl; not needed.
|
|
(print_file_name_and_frills, length_of_file_name_and_frills):
|
|
With -m, don't output spaces before inum or size.
|
|
(print_with_commas): Don't output space just before newline.
|
|
|
|
2003-12-24 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/ls/Makefile.am (TESTS): Add m-option.
|
|
* tests/ls/m-option: New file. Test for above fixes.
|
|
|
|
2003-12-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 5.1.0.
|
|
|
|
* src/pr.c: Change type of global, buff_allocated, to size_t.
|
|
|
|
* src/join.c [struct seq]: Change types of members count and alloc
|
|
from `int' to `size_t'.
|
|
|
|
* tests/Makefile.am (root-hint): Tweak wording.
|
|
|
|
* src/du.c: Accept new option (-0, --null) that makes it so each
|
|
output line is NUL-terminated rather than newline-terminated.
|
|
|
|
* src/dd.c (apply_translations): Don't prohibit conv=unblock,sync.
|
|
Reported by Volker Paul.
|
|
* tests/dd/Makefile.am (TESTS): Add unblock-sync.
|
|
* tests/dd/unblock-sync: New test for the above.
|
|
|
|
2003-12-19 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/misc/nohup: Double quote back-ticked expression,
|
|
in case it ends up having an unexpected value.
|
|
|
|
* tests/ls/no-arg: Use ls's -1 option in both runs.
|
|
|
|
* src/du.c (fts_debug): New global.
|
|
(FTS_CROSS_CHECK, DEBUG_OPT): Define.
|
|
(main): Make fts use FTS_TIGHT_CYCLE_CHECK.
|
|
(main) [DU_DEBUG]: Accept -d option.
|
|
|
|
2003-12-18 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/ls.c (format_user): Increment dired_pos via two statements,
|
|
`dired_pos += width; dired_pos++;' rather than one,
|
|
`dired_pos += width + 1;' since the latter could conceivably overflow.
|
|
(format_group): Likewise.
|
|
From Paul Eggert.
|
|
|
|
* configure.ac: Require automake-1.8.
|
|
|
|
2003-12-12 Jim Meyering <jim@meyering.net>
|
|
|
|
* Use automake-1.8. Regenerate dependent files.
|
|
|
|
2003-12-08 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (news-date-check): New rule.
|
|
(alpha beta major): Depend on it.
|
|
|
|
2003-12-03 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS: ls -l (and similar options) now adjust all columns to
|
|
fit the data. Generalized from a suggestion by Leah Q for file sizes.
|
|
* src/ls.c (INODE_DIGITS, LOGIN_NAME_MAX, ID_LENGTH_MAX): Remove.
|
|
(format_user_width, format_group_width, unsigned_file_size,
|
|
format_group): New functions.
|
|
(block_size_width): Renamed from block_size_size.
|
|
(inode_number_width, nlink_width, owner_width, group_width,
|
|
author_width, major_device_number_width, minor_device_number_width,
|
|
file_size_width): New vars.
|
|
(clear_files): Initialize them.
|
|
(gobble_file): Set them. Don't ceiling block_size_width to 7.
|
|
(print_long_file): Use them.
|
|
(gobble_file): Use a new local variable 'f' to make the code
|
|
smaller and more consistent with other functions.
|
|
(format_user): Output to stdout, not to a buffer, so that we
|
|
don't have to worry about buffer overrun. Update dired_pos.
|
|
(print_long_file): Don't put owner, group, author into buffer;
|
|
just print them directly. Don't assume link counts and
|
|
major and minor numbers fit into unsigned long int.
|
|
* tests/cp/same-file, tests/mv/part-symlink: Don't assume that
|
|
'ls' output is fixed-width.
|
|
|
|
2003-12-02 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/md5sum.c: Include sha1.h (reflect renaming: sha.h -> sha1.h.
|
|
|
|
2003-11-27 Jim Meyering <jim@meyering.net>
|
|
|
|
* Use automake-1.7f. Regenerate dependent files.
|
|
|
|
2003-11-24 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Parse floating-point operands and options in the C locale.
|
|
POSIX requires this for printf, and we might as well be
|
|
consistent elsewhere (tail, sleep, seq).
|
|
|
|
* src/printf.c: Remove decls of strtod, strtol, strtoul; no longer
|
|
needed now that we assume C89. Include "c-strtod.h".
|
|
(xstrtod): Call c_strtod, not strtod.
|
|
* src/sleep.c: Include "c-strtod.h".
|
|
(main): Update xstrtod call to include new argument, c_strtod.
|
|
* src/seq.c (scan_double_arg): Likewise.
|
|
* src/tail.c (parse_options): Likewise.
|
|
|
|
2003-11-24 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/rm/fail-2eperm: Handle another errno variant (HPUX, EPERM).
|
|
Reported by Mark Conty.
|
|
|
|
2003-11-22 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (sc_xalloc_h_in_src): Remove rule. Subsumed by...
|
|
(sc_system_h_headers): Do this test only if sys2.h exists.
|
|
|
|
2003-11-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/help-version: Ensure that the bug-reporting address is
|
|
included in the --help output for every program.
|
|
* tests/Makefile.am (TESTS_ENVIRONMENT): Add $PACKAGE_BUGREPORT.
|
|
|
|
* src/ptx.c (usage): Output bug-reporting address.
|
|
Reported by Dan Jacobson.
|
|
|
|
2003-11-19 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/join.c (usage): Mention that FILE1 and FILE2 must be sorted
|
|
on the join fields. Suggestion from Bruce Robertson.
|
|
|
|
2003-11-18 Jim Meyering <jim@meyering.net>
|
|
|
|
`od -c -w9999999' could segfault
|
|
* src/od.c (dump): Use xnmalloc/free, not alloca.
|
|
|
|
2003-11-16 Jim Meyering <jim@meyering.net>
|
|
|
|
* Use autoconf-2.59. Regenerate dependent files.
|
|
|
|
* tests/du/hard-link: Minor tweak: use mkdir -p.
|
|
|
|
Fix read-from-free'd-buffer error detected by valgrind.
|
|
* src/csplit.c (remove_line): Don't return a pointer to data in
|
|
a freed buffer. Instead, arrange to free the buffer on the
|
|
subsequent call.
|
|
|
|
* tests/misc/csplit: New test for above fix.
|
|
|
|
2003-11-11 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/ls.c (extract_dirs_from_files): Avoid useless copy operations.
|
|
This avoids a warning from valgrind about memcpy with overlapping
|
|
source and destination.
|
|
|
|
* configure.ac: Require automake-1.7.8.
|
|
|
|
2003-11-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* Use automake-1.7.9. Regenerate dependent files.
|
|
|
|
* src/rm.c: Support new options: --preserve-root and --no-preserve-root.
|
|
* src/chown.c: Likewise.
|
|
|
|
* src/chown-core.c: Include "root-dev-ino.h".
|
|
(chopt_init): Initialize new member.
|
|
(change_file_owner): Support rm's new --preserve-root option.
|
|
|
|
* src/remove.c: Include "root-dev-ino.h".
|
|
(remove_cwd_entries): Remove now-obsolete FIXME comment.
|
|
(remove_dir): Support rm's new --preserve-root option.
|
|
|
|
* src/chown.c: Include "root-dev-ino.h".
|
|
Add new options: --preserve-root and --no-preserve-root.
|
|
|
|
* src/chmod.c: Include "root-dev-ino.h".
|
|
(process_file): Use newly-factored-out ROOT_DEV_INO_CHECK and
|
|
ROOT_DEV_INO_WARN macros.
|
|
(get_root_dev_ino): Remove function definition, now that it's
|
|
been moved to a separate file.
|
|
(usage): Describe new options.
|
|
|
|
* src/mv.c (rm_option_init): Initialized new member.
|
|
|
|
* src/remove.h: Include "dev-ino.h".
|
|
(struct rm_options): Add new member: root_dev_ino.
|
|
* src/chown-core.h: Include "dev-ino.h".
|
|
(struct Chown_option): Add new member: root_dev_ino.
|
|
|
|
2003-11-06 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/paste.c (paste_parallel): Use `sizeof *var' rather than
|
|
hard-coding `sizeof FILE*'.
|
|
|
|
2003-11-05 Dennis Smit <ds@nerds-incorporated.org>
|
|
|
|
* src/wc.c (main): Free `fstatus' so there is no confusion about
|
|
whether it's leaked or not.
|
|
* src/who.c (who): Likewise for `utmp_buf'.
|
|
|
|
2003-11-05 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Fix 'cut' problems with size_t overflow and unsigned int.
|
|
More generally, resize integer variables to fit use more precisely.
|
|
* src/cut.c (ADD_RANGE_PAIR): Remove unnecessary parens.
|
|
(struct range_pair): Make members to be of type size_t, not unsigned.
|
|
(max_range_endpoint, eol_range_start): Now size_t, not unsigned.
|
|
(suppress_non_delimited, output_delimiter_specified,
|
|
have_read_stdin, print_kth, set_fields): Now bool, nt int.
|
|
(delim): Now unsigned char, not int.
|
|
(mark_printable_field, is_printable_field, is_range_start_index,
|
|
set_fields, set_fields, cut_bytes, cut_fields):
|
|
Use size_t, not unsigned, for field and byte counts.
|
|
(hash_int): Use uintptr_t, not unsigned, for pointers converted
|
|
to integers. This squeezes more info out of them.
|
|
(set_fields, cut_bytes, cut_fields, main):
|
|
Use bool, not int, for booleans.
|
|
(set_fields): Allocate zeroed byte array with xzalloc, not xcalloc.
|
|
|
|
2003-11-05 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* man/Makefile.am (check-programs-vs-x):
|
|
Work even if $(programs) contains '$'.
|
|
Work even if 'missing=1' in environment.
|
|
Don't report an error simply because $(programs) outputs nothing.
|
|
|
|
2003-11-05 Jim Meyering <jim@meyering.net>
|
|
|
|
* Use autoconf-2.58. Regenerate dependent files.
|
|
|
|
* src/tr.c (spec_init): Fix typo in last change.
|
|
|
|
* src/sys2.h (case_GETOPT_VERSION_CHAR): Cast NULL to `(char *)' in
|
|
call to variadic version_etc function, so that it works even on systems
|
|
for which sizeof char* != sizeof int.
|
|
* src/true.c (main): Likewise.
|
|
* basename.c, chroot.c, cksum.c, dd.c, dirname.c, echo.c, expr.c:
|
|
* factor.c, hostid.c, hostname.c, link.c, logname.c, nice.c, nohup.c:
|
|
* pathchk.c, printenv.c, printf.c, pwd.c, setuidgid.c, sleep.c, stty.c:
|
|
* sync.c, test.c, tsort.c, unlink.c, uptime.c, users.c, whoami.c, yes.c:
|
|
Similarly, cast NULL to `(char *)' in call to variadic function,
|
|
parse_long_options, so that it works even on systems for which
|
|
sizeof char* != sizeof int.
|
|
A similar problem was reported by Harti Brandt in
|
|
http://mail.gnu.org/archive/html/bug-gnu-utils/2003-10/msg00320.html.
|
|
|
|
* src/users.c (users): Free `utmp_buf' explicitly so that people
|
|
don't mistake this for a real leak.
|
|
Patch by Dennis Smit <ds@nerds-incorporated.org.
|
|
|
|
2003-11-04 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* README: Document _POSIX2_VERSION.
|
|
|
|
2003-11-04 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/tac.c (memrchr): Remove #if-0'd function.
|
|
(tac_stdin_to_mem): Clean up #if-0'd code.
|
|
|
|
* src/od.c (decode_format_string): Remove unnecessary casts.
|
|
Use more maintainable `sizeof *var'.
|
|
(main): Call decode_format_string rather than decode_one_format,
|
|
now that `spec' may be NULL.
|
|
|
|
* src/chmod.c (AUTHORS): Add my name.
|
|
|
|
* src/split.c (next_file_name): Use `sizeof *var' rather than
|
|
hard-coding `sizeof size_t'.
|
|
|
|
* src/sort.c (new_key): Use xzalloc, not xcalloc (1, ...).
|
|
|
|
* src/cut.c (ADD_RANGE_PAIR): Use x2nrealloc rather than xrealloc,
|
|
to avoid potential overflow in pointer arithmetic.
|
|
(set_fields): Use not `1', but rather `sizeof *printable_field' as
|
|
second argument to xcalloc.
|
|
* src/od.c (decode_format_string, dump_strings): Use x2nrealloc
|
|
rather than xrealloc.
|
|
* src/date.c (show_date): Likewise.
|
|
* src/join.c (ADD_FIELD, initseq, getseq): Likewise.
|
|
* src/pr.c (store_char): Likewise.
|
|
* src/fold.c (fold_file): Likewise.
|
|
|
|
* src/copy.c (triple_hash, triple_hash_no_name): Adjust to reflect
|
|
type changes (unsigned int -> size_t) in hash.c.
|
|
* src/cp-hash.c (src_to_dest_hash): Likewise.
|
|
* src/du.c (entry_hash): Likewise.
|
|
* src/ls.c (dev_ino_hash): Likewise.
|
|
* src/cut.c (hash_int): Likewise. Declare function as static.
|
|
|
|
2003-11-03 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/misc/Makefile.am (TESTS_ENVIRONMENT): Define PACKAGE_VERSION.
|
|
* tests/misc/fold: Fail the test immediately if we're not running
|
|
the expected version of fold.
|
|
|
|
2003-11-02 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/tr.c (append_normal_char, append_range, append_char_class)
|
|
(append_repeated_char, append_equiv_class, spec_init): Use `sizeof *var'
|
|
rather than `sizeof EXPLICIT_TYPE'. The former is more maintainable
|
|
and usually shorter.
|
|
* src/copy.c (copy_internal): Likewise.
|
|
* src/join.c (initseq, add_field, make_blank): Likewise.
|
|
* src/od.c (main): Likewise.
|
|
* src/cp.c (make_path_private): Likewise.
|
|
* src/tsort.c (new_item, record_relation): Likewise.
|
|
|
|
* src/df.c (add_fs_type, add_excluded_fs_type, main): Likewise.
|
|
(main): Also remove anachronistic cast of xmalloc return value.
|
|
* src/ptx.c (alloc_and_compile_regex, main): Likewise.
|
|
(main): Also remove anachronistic cast of xmalloc return value.
|
|
* src/sort.c (inittables): Likewise.
|
|
(sort): Also Split a long line.
|
|
|
|
2003-10-25 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/copy.c (triple_hash, triple_hash_no_name): Adjust to reflect
|
|
type changes (unsigned int -> size_t) in hash.c.
|
|
* src/cp-hash.c (src_to_dest_hash): Likewise.
|
|
* src/du.c (entry_hash): Likewise.
|
|
* src/ls.c (dev_ino_hash): Likewise.
|
|
* src/cut.c (hash_int): Likewise. Declare function as static.
|
|
|
|
2003-10-21 Jim Meyering <jim@meyering.net>
|
|
|
|
Don't fail when run with VERBOSE=yes.
|
|
* tests/chgrp/basic: Do `set +x' before starting the subshell
|
|
from which we invoke chgrp. Otherwise, the output from the
|
|
VERBOSE=yes-induced `set -x' would result in spurious differences.
|
|
Reported by Russel Coker via Michael Stone.
|
|
|
|
2003-10-19 Jim Meyering <jim@meyering.net>
|
|
|
|
chmod now uses fts to perform a directory traversal when -R is
|
|
specified. Before, it operated on full path names, and as such
|
|
would encounter the PATH_MAX (often 4096) limit.
|
|
|
|
* src/chmod.c: Include "xfts.h".
|
|
(process_file): Rename from change_file_mode.
|
|
Adapt to be used with fts.
|
|
(process_files): New function.
|
|
|
|
2003-10-18 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/du/deref-args: Ensure that du -D now dereferences all
|
|
symlinks specified on the command line, not just those that
|
|
reference directories.
|
|
|
|
* basename.c, cat.c, chroot.c, cksum.c, comm.c, cp.c, csplit.c, cut.c:
|
|
* dd.c, df.c, dirname.c, du.c, echo.c, env.c, expr.c, factor.c, head.c:
|
|
* hostid.c, hostname.c, id.c, link.c, ln.c, logname.c, ls.c, md5sum.c:
|
|
* mv.c, nice.c, nl.c, nohup.c, paste.c, pathchk.c, pinky.c, pr.c:
|
|
* printenv.c, printf.c, pwd.c, rm.c, setuidgid.c, sleep.c, sort.c:
|
|
* split.c, stty.c, sum.c, sync.c, tac.c, tail.c, tee.c, test.c:
|
|
* touch.c, tsort.c, uniq.c, unlink.c, uptime.c, users.c, wc.c:
|
|
* who.c, whoami.c, yes.c (AUTHORS): Revert the WRITTEN_BY/AUTHORS change
|
|
of 2003-09-19. Now, AUTHORS is a comma-separated list of strings.
|
|
Update the call to parse_long_options so that `AUTHORS, NULL' are the
|
|
last parameters.
|
|
* src/true.c (main): Append NULL to version_etc argument list.
|
|
* src/sys2.h (case_GETOPT_VERSION_CHAR): Likewise.
|
|
|
|
2003-10-17 Andreas Schwab <schwab@suse.de>
|
|
|
|
* tests/mk-script: Get $srcdir from first parameter instead of
|
|
hardcoding it.
|
|
(main): Update usage.
|
|
|
|
* tests/Makefile.am.in ($(srcdir)/$x-tests): Pass $(srcdir) as
|
|
first argument of mk-script.
|
|
($(srcdir)/Makefile.am): Likewise. Prepend $(srcdir) to target.
|
|
|
|
2003-10-17 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/mv.c (usage): Tweak descriptions of -i and -f so that the
|
|
generated `man' page is more readable. Suggestion from Dan Jacobson.
|
|
|
|
* src/chown-core.c (change_file_owner): Handle the cases in
|
|
which fts_info indicates an error with the given entry.
|
|
|
|
* src/du.c (main): Simply assign to bit_flags.
|
|
Don't bother with bit arithmetic.
|
|
|
|
* tests/chmod/no-x: New file.
|
|
* tests/chgrp/no-x: New file.
|
|
* tests/chmod/Makefile.am (TESTS): Add no-x.
|
|
* tests/chgrp/Makefile.am (TESTS): Likewise.
|
|
|
|
* src/du.c: Include "xfts.h".
|
|
(du_files): Use xfts_open, rather than fts_open.
|
|
* src/chown-core.c (chown_files): Likewise.
|
|
|
|
2003-10-16 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/chgrp.c (main): Simply assign to bit_flags.
|
|
Don't bother with bit arithmetic.
|
|
* src/chown.c (main): Likewise.
|
|
Rename a couple of local variables.
|
|
Remove unnecessary casts.
|
|
|
|
* src/tail.c (start_bytes): Rename local, remainder, to avoid
|
|
gcc's warning about shadowing a global.
|
|
|
|
2003-10-15 Jim Meyering <jim@meyering.net>
|
|
|
|
chown and chgrp now accept POSIX-mandated -H, -L, -P options and
|
|
use fts to perform a directory traversal when -R is specified.
|
|
Before, they operated on full path names, and as such would
|
|
encounter the PATH_MAX (often 4096) limit.
|
|
They are more efficient. For example, before, chgrp -R would
|
|
take almost 5 seconds to change about 2000 directories and fail
|
|
(with `File name too long'), while now it succeeds on a hierarchy
|
|
of depth 20,000 in 1/10 the time.
|
|
|
|
* src/chown.c: Include "userspec.h" and "fts_.h".
|
|
(WRITTEN_BY): Add my name.
|
|
(getpwnam, getgrnam, getgrgid): Remove declarations.
|
|
(endpwent): Remove definition.
|
|
(usage): Update.
|
|
(main): Handle new options.
|
|
Call new function, chown_files rather than change_file_owner.
|
|
|
|
* src/chgrp.c: Include "fts_.h".
|
|
(WRITTEN_BY): Add my name.
|
|
(MAXUID, MAXGID): Remove definitions. Use GID_T_MAX instead of
|
|
the latter.
|
|
(usage): Update.
|
|
(main): Handle new options.
|
|
Call new function, chown_files rather than change_file_owner.
|
|
|
|
Rewrite to iterate through hierarchies using fts rather than
|
|
via explicit recursion.
|
|
* src/chown-core.c: Include "fts_.h"
|
|
(change_file_owner): Rewrite to use FTS* and FTSENT* and to operate
|
|
on a single file at a time.
|
|
(chown_files): New function.
|
|
* src/chown-core.h [enum Dereference_symlink]: Remove declaration.
|
|
[struct Chown_option] (recurse, force_silent): Change type to `bool'.
|
|
[struct Chown_option] (dereference): Remove member with ambiguous name.
|
|
[struct Chown_option] (affect_symlink_referent): New member.
|
|
(chown_files): New prototype.
|
|
|
|
* tests/chgrp/recurse: Update tests accordingly.
|
|
* tests/chgrp/posix-H: New tests for the above.
|
|
* tests/chgrp/Makefile.am (TESTS): Add posix-H.
|
|
|
|
* src/ln.c (usage): Clarify that --directory, -d, -F probably won't
|
|
work even for superuser. Suggestion from Dan Jacobson.
|
|
|
|
2003-10-14 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Fix some number-parsing bugs, e.g., "head -n 100k@" wasn't
|
|
properly diagnosed.
|
|
* lib/human.c, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
|
|
lib/xstrtoul.c, lib/xstrtoumax.c: Sync with gnulib.
|
|
* src/sort.c (parse_field_count): Handle the case where overflow
|
|
and invalid suffix char are both reported.
|
|
|
|
2003-10-14 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/ls.c (decode_switches) [TIOCGWINSZ]: Comment out the
|
|
warning-inducing test, ws.ws_col <= SIZE_MAX, since it was always
|
|
true on Linux.
|
|
|
|
2003-10-13 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Fix to avoid a denial-of-service attack if the display width is
|
|
enormous. Also, clean up the code a bit by removing duplicate code.
|
|
|
|
* src/ls.c (init_column_info): Remove forward decl; no longer needed.
|
|
(calculate_columns): New function, that contains code that used
|
|
to be common to print_many_per_line and print_horizontal.
|
|
(print_many_per_line, print_horizontal): Use it.
|
|
(decode_switches): Set max_idx here, not in calculate_columns.
|
|
(print_current_files): Don't call init_column_info; calculate_columns
|
|
now does that.
|
|
(init_column_info): Don't allocate a lot more space than is needed
|
|
to represent the current set of files. Allocate all the new
|
|
size_t cells in one call to xnmalloc, rather than a row at a time.
|
|
|
|
2003-10-13 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/ls.c (init_column_info): Add another FIXME comment.
|
|
|
|
2003-10-13 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Fix address-arithmetic bug in 'ls', reported by Georgi Guninski.
|
|
Remove several arbitrary limits on hosts where int cannot represent
|
|
all size_t values.
|
|
|
|
* src/ls.c (struct bin_str.len, length_of_file_name_and_frills, indent,
|
|
nfiles, files_index, tabsize, line_length, struct column_info.line_len,
|
|
struct column_info.col_arr[0], max_idx):
|
|
Now size_t, not int.
|
|
(get_funky_string): Return bool indicating success, instead of
|
|
a negative count to indicate failure. Store number of columns
|
|
through new parameter OUTPUT_COUNT; that way, they can never
|
|
go negative. Change equals_end from int to bool. All uses
|
|
changed.
|
|
(struct column_info.valid_len): Now bool, not int. All uses changed.
|
|
(dired_dump_obstack, get_funky_string, clear_files,
|
|
extract_dirs_from_files, print_current_files,
|
|
print_many_per_line, print_horizontal, init_column_info,
|
|
put_indicator, length_of_file_name_and_frills,
|
|
print_with_commas): Use size_t, not int, for local variables
|
|
that count sizes.
|
|
(decode_switches): Decode sizes using xstrtoul, not xstrtol.
|
|
Check for TIOCGWINSZ returing negative values (or values greater
|
|
than SIZE_MAX!).
|
|
(visit_dir, main, parse_ls_color, queue_directory, add_ignore_pattern,
|
|
init_column_info):
|
|
Use xmalloc and xnmalloc, not XMALLOC.
|
|
(gobble_file): Use xnrealloc, not XREALLOC.
|
|
(print_color_indicator): Remove now-unnecessary cast to size_t.
|
|
|
|
2003-10-12 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* tests/du/no-x: Change wording of diagnostic to match latest du.c.
|
|
* tests/sort/sort-tests: Remove from CVS; assume that people
|
|
brave enough to check coreutils out from CVS can rebuild it.
|
|
|
|
2003-10-12 Jim Meyering <jim@meyering.net>
|
|
|
|
New options: --preserve-root and --no-preserve-root.
|
|
* src/chmod.c (change_file_mode): Honor new option.
|
|
(change_file_mode): Strip trailing slashes on directory
|
|
argument passed to change_dir_mode.
|
|
(get_root_dev_ino): New function.
|
|
(main): Initialize global, root_dev_ino.
|
|
|
|
* src/copy.c (copy_internal): Don't #ifdef-out simple uses of
|
|
S_ISLNK or S_ISSOCK. The S_IS* macros are guaranteed to be defined
|
|
via system.h.
|
|
* src/chmod.c (change_file_mode): Likewise.
|
|
|
|
2003-10-08 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/csplit.c (main): Remove obsolete FIXME.
|
|
|
|
2003-10-07 Jim Meyering <jim@meyering.net>
|
|
|
|
* Use automake-1.7.8. Regenerate dependent files.
|
|
|
|
2003-09-29 Paul Eggert <eggert@twinsun.com>
|
|
|
|
csplit cleanup.
|
|
|
|
* doc/coreutils.texi (csplit invocation):
|
|
The regexp offset need not have a sign; POSIX requires support
|
|
for signless offets.
|
|
|
|
Be more careful about int widths. For example, remove some
|
|
arbitrary limits by replacing 'unsigned' with 'size_t',
|
|
'uintmax_t', etc. Use standard bool rather than a homegrown type.
|
|
* lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
|
|
* src/csplit.c (FALSE, TRUE, boolean): Remove. All uses changed
|
|
to <stdbool.h> usage.
|
|
(struct control): offset is now intmax_t, not int.
|
|
repeat_forever is now bool, not int.
|
|
(struct cstring): len is now size_t, not unsigned int.
|
|
(struct buffer_record): bytes_alloc, bytes_used, num_lines are now
|
|
size_t, not unsigned. start_line, first_available are now
|
|
uintmax_t, not unsigned.
|
|
(hold_count, control_used): Now size_t, not unsigned.
|
|
(last_line_number, current_line, bytes_written):
|
|
Now uintmax_t, not unsigned.
|
|
(save_to_hold_area, red_input, keep_new_line, record_line_starts,
|
|
create_new_buffer, get_new_buffer, load_buffer, find_line,
|
|
process_regexp, split_file, new_control_record, extract_regexp,
|
|
get_format_width, get_format_prec, max_out):
|
|
size args, locals, and returned values are now size_t, not unsigned
|
|
or int.
|
|
(get_first_line_in_buffer, find_line, write_to_file,
|
|
handle_line_error, process_line_count, regexp_error, process_regexp,
|
|
split_file):
|
|
File line, byte, and repetition counts are now uintmax_t, not unsigned.
|
|
(check_for_offset): Don't require a sign before the offset.
|
|
Use xstrtoimax to do the real work.
|
|
(extract_regexp): Remove harmful cast of size to unsigned.
|
|
256 -> 1<<CHAR_BIT, for clarity.
|
|
(get_format_flags): Return at most 3, to avoid worries about overflow.
|
|
|
|
(bytes_to_octal_digits): Remove.
|
|
|
|
(cleanup): Don't check whether output_stream is NULL, since
|
|
close_output_file does that for us.
|
|
|
|
(new_line_control, create_new_buffer): Use "foo *p = xmalloc
|
|
(sizeof *p);" instead of the more long-winded alternatives.
|
|
|
|
(get_new_buffer): Use O(1) algorithm for resizing a buffer
|
|
to a much larger size, instead of an O(N) algorithm.
|
|
|
|
(process_regexp): Use plain NULL rather than casted 0.
|
|
|
|
(make_filename): Use %u, not %d, to format unsigned file number.
|
|
|
|
(new_control_record): Use xrealloc exclusively, since it handles
|
|
NULL reliably.
|
|
|
|
(extract_regexp): Change misspelled word in diagnostic.
|
|
|
|
(get_format_width): Even if a minimum field width is specified,
|
|
allow room for enough octal digits to represent the value of
|
|
the maximum representible integer. This fixes a potential
|
|
buffer overrun. Calculate this room at compile-time, not
|
|
at run-time; this removes the need for bytes_to_octal_digits.
|
|
Check for overflow; this removes a FIXME.
|
|
|
|
(get_format_prec): Don't allow precision to be signed; it's
|
|
not ANSI. Check for overflow. Remove hardcoded "11" as
|
|
default precision; this fixes a potential buffer overrun
|
|
on hosts with wider size_t.
|
|
|
|
(get_format_conv_type): Change local variable to be of type
|
|
unsigned char, not int; this removes a potential subscript
|
|
violation on hosts where char is signed.
|
|
|
|
(max_out): Replace "for (;*p;)" with more-standard "while (*p)".
|
|
Allow "%%" in format. Don't overflow when
|
|
counting lots of percents.
|
|
|
|
(usage): Default sprintf format is %02u, not %d.
|
|
|
|
2003-10-05 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/chown-core.c (change_file_owner): Remove set-but-not-used local.
|
|
|
|
* src/du.c (du_files): Mark diagnostic for translation.
|
|
|
|
2003-10-04 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/du.c (du_files): Ignore any failure of fts_close.
|
|
Give better diagnostics for failed fts_open.
|
|
|
|
* src/du.c (MAX_N_DESCRIPTORS): Remove now-unused definition.
|
|
|
|
Deprecate existing use of -H (aka --si).
|
|
* src/du.c (enum) [HUMAN_SI_OPTION]: New member.
|
|
[long_options]: Use HUMAN_SI_OPTION, not 'H'.
|
|
(main): Warn that the meaning of -H will soon change to be
|
|
POSIX compliant.
|
|
|
|
2003-10-03 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/du.c: Accept --no-dereference (-P).
|
|
|
|
2003-10-02 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/du/trailing-slash: Adjust for slightly different output.
|
|
|
|
Rewrite du.c to use fts.
|
|
* src/du.c: Include "fts_.h", not ftw.h.
|
|
(opt_dereference_arguments, arg_length, suffix_length): Remove globals.
|
|
(IS_FTW_DIR_TYPE): Remove definition.
|
|
(IS_DIR_TYPE): Define.
|
|
(is_symlink_to_dir): Remove now-unnecessary function.
|
|
(process_file, du_files): Rewrite to use fts.
|
|
|
|
* tests/du/inaccessible-cwd: Ensure that even when run from an
|
|
inaccessible directory, du can still operate on accessible
|
|
directories elsewhere.
|
|
* tests/du/Makefile.am (TESTS): Add inaccessible-cwd.
|
|
|
|
* tests/rm/deep-1: Ensure that du can process a hierarchy
|
|
of depth 400 while using no more than 50KB of stack space.
|
|
|
|
2003-10-01 Akim Demaille <akim@epita.fr>
|
|
|
|
* announce-gen (print_news_deltas): New function, extracted from main.
|
|
(main): Make `news_file' an array.
|
|
Use '...=s' => \@var for --news and --url-directory specs.
|
|
Before there were a couple of portability problems.
|
|
|
|
2003-09-28 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (sc_cast_of_alloca_return_value): New rule.
|
|
(syntax-check-rules): Add it.
|
|
|
|
* src/copy.c: Remove unnecessary cast of alloca, since now it's
|
|
guaranteed to be (void *).
|
|
* src/cp.c: Likewise.
|
|
* src/join.c: Likewise.
|
|
* src/ln.c: Likewise.
|
|
* src/ls.c: Likewise.
|
|
* src/od.c: Likewise.
|
|
* src/sys2.h (ASSIGN_STRDUPA): Likewise.
|
|
|
|
2003-09-27 Jim Meyering <jim@meyering.net>
|
|
|
|
Don't exhaust virtual memory when processing large inputs.
|
|
Fix this by removing csplit's internal free-list management;
|
|
instead rely on malloc for that.
|
|
|
|
* src/csplit.c (free_list): Remove global.
|
|
(clear_all_line_control): Remove function.
|
|
(get_new_buffer): Always use create_new_buffer to obtain a
|
|
new buffer, rather than searching free_list.
|
|
(free_buffer): Just call free.
|
|
Reported by Nikola Milutinovic.
|
|
|
|
2003-09-26 Jim Meyering <jim@meyering.net>
|
|
|
|
* man/rm.x: Also list `chattr' in SEE ALSO section.
|
|
Suggestion from Mark Hubbart.
|
|
|
|
2003-09-25 Jim Meyering <jim@meyering.net>
|
|
|
|
* configure.ac: Don't invoke AC_AIX or AC_MINIX explicitly, now
|
|
that we use gl_USE_SYSTEM_EXTENSIONS, since it AC_REQUIREs them.
|
|
|
|
* Use autoconf-2.57d. Regenerate dependent files.
|
|
|
|
2003-09-24 Jim Meyering <jim@meyering.net>
|
|
|
|
Minor efficiency tweak.
|
|
* src/ln.c (PATH_BASENAME_CONCAT): Use memcpy rather than strcpy.
|
|
(do_link): Likewise.
|
|
|
|
2003-09-23 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/paste.c (paste_serial): Save errno after input error,
|
|
to report proper errno value.
|
|
Based on a patch from Paul Eggert.
|
|
|
|
* src/tee.c (tee): Adjust fwrite arguments so that the return
|
|
value is the number of bytes written.
|
|
|
|
2003-09-16 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Don't assume ferror sets errno. Bug reported by Bruno Haible.
|
|
|
|
* src/comm.c (compare_files): Save errno after input error,
|
|
to report proper errno value.
|
|
* src/fold.c (fold_file): Likewise.
|
|
* src/od.c (check_and_close, skip, read_char, read_block): Likewise.
|
|
* src/unexpand.c (unexpand): Likewise.
|
|
|
|
* src/csplit.c (close_output_file): Don't report bogus errno value
|
|
after ferror discovers an output error. We don't know the proper
|
|
errno value, since it might have been caused by any of a whole
|
|
bunch of calls, and it might have been trashed in the meantime.
|
|
Fixing this problem will require much more extensive changes;
|
|
in the meantime just say "write error".
|
|
* src/od.c (check_and_close, dump, dump_strings): Likewise.
|
|
* src/uniq.c (check_file): Likewise.
|
|
|
|
* src/join.c (get_line): Report error right away if I/O fails,
|
|
so that the proper errno value is used.
|
|
* src/tac.c (tac_seekable, tac_file, save_stdin): Likewise.
|
|
* src/tee.c (tee): Likewise.
|
|
* src/uniq.c (check_file): Likewise.
|
|
|
|
* src/od.c (skip): If a read fails, don't retry it later, so
|
|
that we report the proper errno.
|
|
|
|
* src/tac.c (tac_mem): Don't return a value; nobody uses it.
|
|
|
|
* src/tee.c (tee): Once a write failure has occurred, don't bother
|
|
writing anything more to that stream.
|
|
|
|
* src/uniq.c (check_file): Check for ferror (stdout) even if
|
|
ostream == stdout.
|
|
|
|
* src/yes.c (UNROLL): Remove.
|
|
(main): Exit immediately when write failure is detected.
|
|
Simplify code by assigning to argv when argc == 1.
|
|
|
|
2003-09-21 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/ptx.c: Switch encoding from Latin-1 to UTF-8.
|
|
(WRITTEN_BY): Change "Franc,ois" (actually using
|
|
c-with-cedilla in Latin-1) to "F.", so that it's ASCII, as
|
|
xgettext requires.
|
|
|
|
2003-09-19 Jim Meyering <jim@meyering.net>
|
|
|
|
`du -D symlink-to-dir' would mistakenly omit the slash in
|
|
lines like this: 24 symlink-to-dir/subdir
|
|
* src/du.c (process_file): Fix offset calculation.
|
|
Reported by Jeff Sheinberg as Debian bug #211591;
|
|
http://bugs.debian.org/205251
|
|
|
|
* tests/du/deref-args: New file/test for the above.
|
|
* tests/du/Makefile.am (TESTS): Add deref-args.
|
|
|
|
* src/du.c (process_file): Remove useless disjunct.
|
|
|
|
* src/sys2.h (case_GETOPT_VERSION_CHAR): Rename parameter, Authors,
|
|
to Written_by.
|
|
* nearly all src/*.c files (WRITTEN_BY): Rename from AUTHORS.
|
|
Begin each WRITTEN_BY string with `Written by ' and end it with `.'.
|
|
Mark each WRITTEN_BY string as translatable.
|
|
|
|
* basename.c, cat.c, chroot.c, cksum.c, comm.c, cp.c, csplit.c, cut.c:
|
|
* dd.c, df.c, dirname.c, du.c, echo.c, env.c, expr.c, factor.c, head.c:
|
|
* hostid.c, hostname.c, id.c, link.c, ln.c, logname.c, ls.c, md5sum.c:
|
|
* mv.c, nice.c, nl.c, nohup.c, paste.c, pathchk.c, pinky.c, pr.c:
|
|
* printenv.c, printf.c, pwd.c, rm.c, setuidgid.c, sleep.c, sort.c:
|
|
* split.c, stty.c, sum.c, sync.c, tac.c, tail.c, tee.c, test.c:
|
|
* touch.c, tsort.c, uniq.c, unlink.c, uptime.c, users.c, wc.c:
|
|
* who.c, whoami.c, yes.c: Revert yesterday's changes.
|
|
Instead, a subsequent change will embed `Written by ' in
|
|
each string along with the author names.
|
|
|
|
* src/true.c: Revert yesterday's changes.
|
|
* src/sys2.h: Likewise.
|
|
|
|
2003-09-18 Jim Meyering <jim@meyering.net>
|
|
|
|
* basename.c, cat.c, chroot.c, cksum.c, comm.c, cp.c, csplit.c, cut.c:
|
|
* dd.c, df.c, dirname.c, du.c, echo.c, env.c, expr.c, factor.c, head.c:
|
|
* hostid.c, hostname.c, id.c, link.c, ln.c, logname.c, ls.c, md5sum.c:
|
|
* mv.c, nice.c, nl.c, nohup.c, paste.c, pathchk.c, pinky.c, pr.c:
|
|
* printenv.c, printf.c, pwd.c, rm.c, setuidgid.c, sleep.c, sort.c:
|
|
* split.c, stty.c, sum.c, sync.c, tac.c, tail.c, tee.c, test.c:
|
|
* touch.c, tsort.c, uniq.c, unlink.c, uptime.c, users.c, wc.c:
|
|
* who.c, whoami.c, yes.c: Update AUTHORS definition to be a
|
|
comma-separated list of strings and/or update the call to
|
|
parse_long_options so that `AUTHORS, NULL' are the last parameters.
|
|
* src/true.c (main): Append NULL to version_etc argument list.
|
|
* src/sys2.h (case_GETOPT_VERSION_CHAR): Likewise.
|
|
|
|
* src/sort.c (numcompare): Rename local, logb, to log_b to avoid
|
|
shadowing the math function name. Also rename loga to log_a.
|
|
|
|
2003-09-14 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/factor.c (print_factors): Give a separate diagnostic
|
|
for numbers that are too large, but otherwise valid.
|
|
Reported by Dániel Varga.
|
|
|
|
2003-09-10 Jim Meyering <jim@meyering.net>
|
|
|
|
* Use automake-1.7.7. Regenerate dependent files.
|
|
|
|
* tests/Makefile.am (all_programs): Use ../src/tr -s ' ' '\n' in place
|
|
of `fmt -1'. Using the just-built tr is a little cleaner.
|
|
Christian Krackowizer reported that HPUX 10.20 doesn't have fmt.
|
|
* man/Makefile.am (programs, check-x-vs-1): Likewise.
|
|
|
|
2003-09-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/copy.c: Alphabetize includes.
|
|
Remove duplicate inclusion of "same.h".
|
|
|
|
2003-09-08 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (GZIP_ENV): Remove --rsyncable.
|
|
Didn't give enough of a benefit, mainly because it's not yet
|
|
in wide enough use.
|
|
|
|
* Version 5.0.91.
|
|
|
|
* man/Makefile.am (programs): Use ../src, not $(srcdir)/../src.
|
|
(check-programs-vs-x): Fail if $(programs) is empty.
|
|
|
|
* src/remove.c: Add a comment.
|
|
|
|
2003-09-07 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/remove.c (D_INO, ENABLE_CYCLE_CHECK) [D_INO_IN_DIRENT]:
|
|
Don't define. These symbols are no longer used.
|
|
|
|
* tests/misc/tty-eof: Write ^D as \cD.
|
|
Complete the change of 2003-08-02.
|
|
|
|
* Makefile.maint (po-check): Use cvsu, so that a temporary source
|
|
file in lib/ or src/ doesn't induce an unwarranted failure.
|
|
Add a kludge to filter out the sole generated source file that
|
|
also has translatable messages: src/false.c.
|
|
|
|
2003-09-06 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/tail.c (enum): Add ALLOW_MISSING_OPTION.
|
|
(parse_options): Give a diagnostic for (but still accept) the
|
|
deprecated --allow-missing option.
|
|
|
|
2003-09-04 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Don't ignore -S if input is a pipe. Bug report by Michael McFarland in
|
|
<http://mail.gnu.org/archive/html/bug-coreutils/2003-09/msg00008.html>.
|
|
|
|
* src/sort.c (sort_buffer_size): Omit SIZE_BOUND arg. Compute the
|
|
size_bound ourselves. if an input file is a pipe and the user
|
|
specified a size, use that size instead of trying to guess the
|
|
pipe size. This has the beneficial side effect of avoiding the
|
|
overhead of default_sort_size in that case. All callers changed.
|
|
(sort): Remove static var size; now done by sort_buffer_size.
|
|
|
|
2003-09-05 Jim Meyering <jim@meyering.net>
|
|
|
|
* Use automake-1.7.6b and autoconf-2.57b. Regenerate dependent files.
|
|
|
|
* tests/tail-2/tail-n0f: Wait .5 seconds for backgrounded process
|
|
to start, rather than just .1. Upon failure, print unexpected state.
|
|
|
|
2003-09-04 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/head.c (elide_tail_lines_pipe): Don't assign 0 or
|
|
SAFE_READ_ERROR to tmp->nbytes.
|
|
* src/tail.c (pipe_lines, pipe_bytes): Likewise.
|
|
|
|
* src/head.c (struct linebuffer): Change nbytes and nlines
|
|
from unsigned int to size_t. unsigned int is safe (after the
|
|
2003-09-03 patch) but size_t is cleaner.
|
|
* src/tail.c (struct linebuffer, struct charbuffer): Likewise.
|
|
(pipe_bytes): Likewise for local variable 'i', which was 'int'.
|
|
|
|
Standardize on BUFSIZ as opposed to other macro names and values.
|
|
* src/head.c (BUFSIZE): Remove. All uses changed to BUFSIZ.
|
|
* src/tail.c (BUFSIZ) [!defined BUFSIZ]: Remove.
|
|
stdio.h has always defined it,
|
|
and other code already assumes it's defined.
|
|
* src/tr.c (BUFSIZ) [!defined BUFSIZ]: Likewise.
|
|
(IO_BUF_SIZE): Remove; replace all uses with sizeof io_buf.
|
|
(io_buf): IO_BUF_SIZE -> BUFSIZ.
|
|
|
|
2003-09-04 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/seq.c (step): Default to 1.
|
|
(print_numbers): Allow the output to be empty.
|
|
(main): The default step is 1, even if LAST < FIRST;
|
|
as per documentation.
|
|
* tests/seq/basic (onearg-2): Output should be empty.
|
|
|
|
2003-09-05 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.cfg (wget_files): Temporarily disable, until master
|
|
versions are restored to ftp.gnu.org.
|
|
|
|
* configure.ac (AM_INIT_AUTOMAKE): Specify automake-1.7.6.
|
|
|
|
Make seq's --width (-w) option work properly even when the
|
|
endpoint requiring the larger width is negative and smaller than
|
|
the other endpoint.
|
|
* src/seq.c (get_width_format): Include `-' in the set of bytes
|
|
allowed in a `simple' number (no decimal point, no exponent).
|
|
Reported by Patrick Mauritz.
|
|
|
|
2003-09-02 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS: sort -t '\0' now uses a NUL tab.
|
|
sort option order no longer matters, unless POSIX requires it.
|
|
* src/sort.c (usage): Say "blanks" instead of "whitespace",
|
|
Similar fixes for many comments.
|
|
(TAB_DEFAULT): New constant, so that we can support NUL as
|
|
the field separator.
|
|
(tab): Now int, not char. Initialize to TAB_DEFAULT.
|
|
(specify_sort_size): If multiple sizes are specified, use the largest.
|
|
(begfield, limfield): Support NUL tab char.
|
|
(set_ordering): Do not let -i override -d.
|
|
(main): Report an error if incompatible -o or -t options are given.
|
|
Report an error for "-t ''". Allow "-t '\0'" to specify a NUL tab.
|
|
|
|
2003-09-05 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/sort/Test.pm [o2, nul-tab]: New tests for the above.
|
|
|
|
2003-09-03 Andreas Schwab <schwab@suse.de>
|
|
|
|
Bug report and patch here:
|
|
<http://mail.gnu.org/archive/html/bug-coreutils/2003-09/msg00009.html>
|
|
* src/tail.c (pipe_lines): Don't truncate return value from safe_read.
|
|
* src/head.c (elide_tail_lines_pipe): Likewise.
|
|
|
|
2003-09-03 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/du.c (AUTHORS): Remove Larry McVoy's name, since the relatively
|
|
small amount of code from him was first moved to lib/human.c, and was
|
|
subsequently rewritten entirely.
|
|
* src/df.c (AUTHORS): Likewise.
|
|
|
|
2003-08-22 Lawrence Teo <lcteo@uncc.edu>
|
|
|
|
* src/md5sum.c (split_3): Accept the BSD format for generic
|
|
message digest modes. Currently works with BSD's MD5 and SHA1
|
|
formats since these are the two algorithms presently used in
|
|
coreutils. Updated comments to reflect this change.
|
|
(bsd_split_3): Updated comments.
|
|
|
|
* tests/md5sum/basic-1: New test to make sure that
|
|
`md5sum --check' doesn't accept the BSD SHA1 format (adapted
|
|
from `check-bsd' test in tests/sha1sum/basic-1).
|
|
|
|
* tests/sha1sum/basic-1 (check-bsd2, check-bsd3): New tests for
|
|
--check exit status and BSD SHA1 format (adapted from tests
|
|
in tests/md5sum/basic-1).
|
|
|
|
2003-08-30 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/ln.c (do_link): Use SAME_INODE rather than open-coding it.
|
|
|
|
When source and destination arguments refer to the same file, reside
|
|
on a partition (e.g. VFAT) on which distinct names may refer to the
|
|
same directory entry (often due to variations in case), and when the
|
|
link count for the file is 1, mv no longer unlinks the file. Instead,
|
|
it gives the expected diagnostic that the source and destination are
|
|
the same. WARNING: this is an incomplete fix. If the file happens
|
|
to have a link count of 2 or greater, such an erroneous mv command
|
|
will still unlink it.
|
|
Although that is not possible on vfat or umsdos, it is possible on
|
|
other file system types, e.g., ntfs, and hpfs.
|
|
* src/copy.c (same_file_ok): Invoke same_name (which might still
|
|
return false for names that refer to the same directory entry)
|
|
only if the link count is 2 or more.
|
|
* tests/mv/vfat: Show how to demonstrate the above problem.
|
|
This test is not run.
|
|
* tests/mv/Makefile.am (EXTRA_DIST): Add vfat.
|
|
|
|
2003-08-27 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/who.c: Change meaning of -l from --lookup to --login, per POSIX.
|
|
who's -l option has been eliciting an unconditional warning about
|
|
this impending change since sh-utils-2.0.12 (April 2002).
|
|
|
|
* src/paste.c (paste_parallel): Don't output `EOF' (aka -1) as a `char'.
|
|
This would happen for nonempty files not ending with a newline.
|
|
Reported by Dan Jacobson.
|
|
* tests/misc/paste-no-nl: New file. Test for above-fixed bug.
|
|
* tests/misc/Makefile.am (TESTS): Add paste-no-nl.
|
|
|
|
* src/stat.c (print_it): Avoid buffer overrun that would
|
|
occur when the user-specified format string ends with `%'.
|
|
Patch by Tommi Kyntola.
|
|
* tests/misc/stat-fmt: New file. Test for above-fixed bug.
|
|
* tests/misc/Makefile.am (TESTS): Add stat-fmt.
|
|
|
|
2003-08-26 Jim Meyering <jim@meyering.net>
|
|
|
|
Apply changes from bison.
|
|
* GNUmakefile (SHELL): Define to `sh', if necessary.
|
|
Add copyright.
|
|
* Makefile.maint (WGETFLAGS): Define to `-C off'.
|
|
Update all uses of $(WGET).
|
|
|
|
2003-08-22 Akim Demaille <akim@epita.fr>
|
|
|
|
* Makefile.cfg (local-checks-to-skip): New.
|
|
* Makefile.maint (local-check): Rename as...
|
|
(local-checks-available): this.
|
|
(local-check): New.
|
|
|
|
2003-08-26 Akim Demaille <akim@epita.fr>
|
|
|
|
* announce-gen (print_changelog_deltas): Neutralize "<#" as
|
|
"<\#" to avoid magic from Gnus when posting parts of this script.
|
|
|
|
2003-08-25 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/stat.c (main): Warn about use of deprecated `-l' option.
|
|
|
|
2003-08-22 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/stat.c (do_stat): For link count at end of line, use %h format,
|
|
instead of %-5h. The latter would make stat emit trailing spaces.
|
|
Reported by Dan Jacobson.
|
|
|
|
2003-08-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.am (EXTRA_DIST): Add .x-sc_space_tab .x-sc_sun_os_names
|
|
|
|
2003-08-19 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/system.h: Include stdlib.h unconditionally,
|
|
as we're now assuming that part of hosted C89.
|
|
|
|
2003-08-18 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/sys2.h (textdomain, bindtextdomain) [! ENABLE_NLS]: Define away,
|
|
to avoid warnings from gcc.
|
|
|
|
2003-08-17 Jim Meyering <jim@meyering.net>
|
|
|
|
Avoid unnecessary and sometimes time-consuming hostname lookups.
|
|
* src/who.c (print_user): Use strchr, not strrchr.
|
|
* src/pinky.c (print_entry): Likewise.
|
|
Patch by Michael Stone.
|
|
This fixes a typo I introduced in who-users.c on 1996-02-23.
|
|
|
|
* Makefile.maint (makefile-check): Add 0-9 to the range of characters
|
|
disallowed between `@...@'.
|
|
|
|
2003-08-16 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* configure.ac (fu_cv_sys_truncating_statfs): Remove; now
|
|
done by gnulib .m4 files.
|
|
(jm_DUMMY_1): Require gl_READUTMP, not jm_PREREQ_READUTMP.
|
|
* src/sys2.h (strtoull): Remove unused declaration.
|
|
|
|
2003-08-16 Jim Meyering <jim@meyering.net>
|
|
|
|
* man/Makefile.am (.x.1): Ensure that generated PROGRAM.1 files
|
|
are read-only.
|
|
|
|
* src/tail.c (tail_lines): Fix a potential (but very hard to exercise)
|
|
race condition bug. The bug would be triggered when tailing a file
|
|
with file pointer not at beginning of file, and where the file was
|
|
truncated to have a length of less than the initial offset at just
|
|
the right moment (between the two lseek calls in this function).
|
|
|
|
An invalid initial value for *read_pos would result in
|
|
`tail -n0 -f FILE' and `tail -c0 -f FILE' doing what amounted to a
|
|
busy-wait rather than sleeping between iterations. The bug manifests
|
|
itself only when tailing regular files that are initially nonempty.
|
|
* src/tail.c (tail_bytes): Set *read_pos to new file offset after
|
|
each xlseek call.
|
|
(tail_lines): Likewise, after lseek calls.
|
|
Reported by Nick Estes. See http://bugs.debian.org/205251 for details.
|
|
* tests/tail-2/tail-n0f: New file. Test for above fix.
|
|
* tests/tail-2/Makefile.am (TESTS): Add tail-n0f.
|
|
|
|
2003-08-15 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (sc_space_tab): Use exclusion list in separate file.
|
|
(sc_sun_os_names): Likewise.
|
|
* .x-sc_space_tab, .x-sc_sun_os_names: New files.
|
|
|
|
* man/help2man: Remove some SPACEs before TAB.
|
|
|
|
2003-08-14 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* Makefile.maint (LC_ALL): Set to C.
|
|
* man/Makefile.am (ASSORT): New var.
|
|
(check-x-vs-1, programs): Use it.
|
|
* src/Makefile.am (ASSORT, check-README, ../AUTHORS): Likewise.
|
|
* tests/Makefile.am (ASSORT, all_programs): Likewise.
|
|
|
|
2003-08-11 Jim Meyering <jim@meyering.net>
|
|
|
|
fold -s -wN would infloop for N < 8 with TABs in the input.
|
|
E.g., this would not terminate: printf 'a\tb' | fold -w2 -s
|
|
* src/fold.c (fold_file): Move contents of `else'-block
|
|
out of conditional so it's used also for --spaces (-s).
|
|
* tests/misc/fold: Test for the above fix.
|
|
* tests/misc/Makefile.am (TESTS): Add fold.
|
|
|
|
2003-08-10 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/nice.c [!NICE_PRIORITY]: Include <sys/resource.h> after
|
|
system.h so the types from time.h and sys/time.h are available.
|
|
It appears that this is necessary for OpenBSD, NetBSD, and
|
|
Darwin 6.5 (MacOS 10.2.5). Reported by Nelson Beebe.
|
|
|
|
2003-08-06 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS: Add support for setting file timestamps to microsecond
|
|
resolution, on hosts that support this.
|
|
* src/copy.c, src/cp.c, src/install.c, src/touch.c: Include utimens.h.
|
|
* src/copy.c (copy_internal):
|
|
Set file timestamps with utimens, not utime.
|
|
* src/cp.c (re_protect): Likewise.
|
|
* src/install.c (change_timestamps): Likewise.
|
|
* src/touch.c (newtime, touch, main): Likewise.
|
|
|
|
2003-08-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (sc_sun_os_names): New rule based on a regexp
|
|
from Paul Eggert.
|
|
(syntax-check-rules): Add it.
|
|
|
|
* src/tail.c (main): Tweak Solaris OS version number in comment.
|
|
* src/wc.c (wc): Likewise
|
|
* tests/tail-2/fflush: Likewise.
|
|
|
|
* src/tail.c: Add new undocumented option, --presume-input-pipe.
|
|
(pipe_lines): Use memchr to skip lines, rather than an explicit loop.
|
|
|
|
2003-08-08 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Use new gnulib 'extensions' module.
|
|
* configure.ac: Invoke gl_USE_SYSTEM_EXTENSIONS instead of
|
|
AC_GNU_SOURCE.
|
|
|
|
2003-08-08 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* tests/du/basic: Ensure that a/b/F has at least 65 bytes too.
|
|
|
|
2003-08-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/misc/split-fail: Reflect that `split -a 0' is now accepted.
|
|
For tests of obsolete behavior, don't presume that unsetting
|
|
_POSIX2_VERSION is equivalent to _POSIX2_VERSION=199209.
|
|
|
|
2003-08-07 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* doc/coreutils.texi (split invocation):
|
|
Add -d or --numeric-suffixes option to 'split'.
|
|
From a suggestion by Jesse Kornblum.
|
|
* src/split.c (suffix_alphabet): New var.
|
|
(longopts, usage, next_file_name, main): Support -d.
|
|
(next_file_name, main): Allow -a0, as POSIX requires.
|
|
(next_file_name): Don't assume ASCII-like encoding;
|
|
'a' through 'z' are not contiguous in EBCDIC.
|
|
|
|
2003-08-05 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Merge getline from gnulib.
|
|
* lib/getline.h, lib/getline.c, m4/getline.m4: Merge from gnulib.
|
|
* lib/getndelim2.h, lib/getndelim2.c, m4/getndelim2.m4, m4/ssize_t.m4:
|
|
New files, from gnulib.
|
|
* lib/getdelim2.c, lib/getdelim2.h: Remove.
|
|
* lib/Makefile.am (libfetish_a_SOURCES): Change getdelim2.c and
|
|
getdelim2.h to getndelim2.c and getndelim2.h.
|
|
* m4/jm-macros.m4 (jm_MACROS): Use gl_GETNDELIM2 rather than
|
|
checking for getdelim.
|
|
(jm_CHECK_ALL_TYPES): Use gt_TYPE_SSIZE_T for ssize_t rather
|
|
than rolling our own.
|
|
* src/cut.c: Include getndelim2.h rather than getdelim2.h.
|
|
(cut_fields): Invoke getndelim2 rather than getdelim2.
|
|
|
|
2003-08-04 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/sort.c (main): Use unsigned int instead of int for `nsigs'
|
|
and for the indices to iterate through nsigs.
|
|
|
|
2003-08-02 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/sort.c: Minor code cleanups, mostly to use more accurate
|
|
types and to remove unnecessary casts.
|
|
(min, max): Remove. All uses changed to MIN and MAX.
|
|
(hard_lc_collate, hard_LC_TIME, struct buffer.eof, struct
|
|
keyfield.skipsblanks, struct keyfield.skipeblanks, struct
|
|
keyfield.numeric, struct keyfield.general_numeric, struct
|
|
keyfield.month, struct keyfield.reverse, reverse, unique,
|
|
have_read_stdin): Now bool, not int. All uses changed.
|
|
(eolchar): Now char, not int.
|
|
(struct keyfield.ignore): Now bool const *, not int *.
|
|
(struct keyfield.translate): Now char const *, not char *.
|
|
(struct month.name): Likewise.
|
|
(blanks, nonprinting, nondictionary): Now bool[], not int[].
|
|
(cleanup, inittables, keycompare, check, mergefps, first_same_file,
|
|
check, sort, main): Use const * pointers when possible.
|
|
(month_cmp): Rewrite to avoid casts.
|
|
(inittables): Initialize tables unconditionally, to avoid branches.
|
|
(fillbuf): Return bool, not int. All uses changed.
|
|
(fillbuf, keycompare, new_key, main):
|
|
Use SIZE_MAX rather than (size_t) -1.
|
|
(trailing_blanks): Renamed from trim_trailing_blanks.
|
|
Return the number of blanks to trim. All uses changed.
|
|
(getmonth): Use trailing_blanks rather than open code.
|
|
(keycompare): Do not cast char * to unsigned char *; not needed.
|
|
CMP_WITH_IGNORE converts args to UCHAR, so no need to convert it
|
|
ourselves.
|
|
(compare, main): Use | rather than || to avoid jumps.
|
|
Replace "diff = NONZERO (alen)" with "diff = 1", since alen must
|
|
be nonzero there.
|
|
(check, first_same_file, sort, main):
|
|
Use bool instead of int local vars when possible.
|
|
(check): Merge the old 'checkfp' and 'check' into a single function,
|
|
that returns a boolean (true if the file was ordered).
|
|
All uses changed.
|
|
(main): Use int instead of unsigned for iterating through nsigs.
|
|
Rename local var "posix_pedantic" to "posixly_correct".
|
|
|
|
2003-08-02 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/nice.c [!NICE_PRIORITY]: Include <time.h> before <sys/resource.h>
|
|
to avoid compilation error on Ultrix. Reported by Christian Krackowizer.
|
|
|
|
* src/cut.c (cut_fields): Don't read again after encountering an
|
|
initial EOF. E.g., `cut -f2' would do so.
|
|
* tests/misc/tty-eof: Add a test for the above fix.
|
|
|
|
* src/sort.c (sortlines): Add description and references.
|
|
From Paul Eggert.
|
|
|
|
* tests/Makefile.am (TESTS_ENVIRONMENT): Set PATH so that
|
|
the tests in help-version will use the just-built binaries.
|
|
Reported by Christian Krackowizer.
|
|
|
|
2003-07-31 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS: Add --rfc-2822 option to GNU date.
|
|
* doc/coreutils.texi (Time directives, Options for date, Examples
|
|
of date): Likewise.
|
|
* src/date.c (long_options, usage, main): Likewise.
|
|
* doc/getdate.texi (General date syntax): Likewise.
|
|
* doc/coreutils.texi (Options for date): Fix a typo in format:
|
|
it's now %d not %_d. Add URLs.
|
|
|
|
2003-08-01 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/shred/remove: Ensure that $? is 0 for the final `exit 0'.
|
|
Otherwise, with at least the /bin/sh from HPUX 10.20,
|
|
the trap code would end up converting that to exit 1 and thus an
|
|
unexpected test failure. Reported by Christian Krackowizer.
|
|
|
|
2003-07-31 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/ptx.c: Do not include bumpalloc.h.
|
|
(WORD_TABLE): New member alloc.
|
|
(ALLOC_NEW_WORD): Remove.
|
|
(occurs_alloc): New var.
|
|
(digest_word_file, find_occurs_in_text): Check for arithmetic
|
|
overflow when computing table size. Use xrealloc rather than
|
|
bumpalloc primitives.
|
|
|
|
2003-07-29 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 5.0.90.
|
|
|
|
* README: When running tests as root, suggest using
|
|
sudo with NON_ROOT_USERNAME=$USER.
|
|
|
|
* tests/Makefile.am (all_programs): Makefile is in ../src, not
|
|
$(srcdir)/../src.
|
|
|
|
2003-07-28 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (GZIP_ENV): Try Debian/gzip's new --rsyncable option.
|
|
|
|
2003-07-28 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* lib/stdbool.hin (_Bool): Make it signed char, instead of
|
|
an enum type, so that it's guaranteed to promote to int.
|
|
* src/sort.c (sortlines_temp): Undo previous change.
|
|
|
|
2003-07-28 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/sort.c (sortlines_temp): Declare local `swap' to be `int', not
|
|
`bool'. Otherwise, at least one buggy compiler (alpha gcc-2.95.4)
|
|
would cause lines[-1 - swap] (with swap = false) to evaluate to
|
|
lines[4294967295].
|
|
|
|
2003-07-27 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/priv-check (my_uid): Use `!', not `^' in case pattern `[!0-9]',
|
|
since /bin/sh of at least NetBSD 1.6 and OpenBSD 3.2 don't accept `^'.
|
|
|
|
* src/remove.c (prompt) [! recursive]: Don't prompt about unwritable
|
|
directories, as required by POSIX. Reported by Karl Berry.
|
|
* tests/rm/dir-no-w: New file. Test for the above fix.
|
|
* tests/rm/Makefile.am (TESTS): Add dir-no-w.
|
|
|
|
* tests/mk-script: Emit `$xx', not its expansion.
|
|
|
|
2003-07-27 Paul Eggert <eggert@twinsun.com>
|
|
|
|
This change was inspired by a similar proposal by Stepan Kasal.
|
|
* src/sort.c (mergelines, sortlines_temp): New functions.
|
|
(sortlines): Use them, to reduce the number of times that
|
|
we need to copy 'struct line' values. This improved CPU
|
|
performance by about 30% on one 18 MB test.
|
|
(sort): Don't invoke sortlines unless we have 2 or more lines.
|
|
|
|
2003-07-26 Stepan Kasal <kasal@ucw.cz>
|
|
|
|
* src/sort.c (sort): Don't require two `struct line's per text line,
|
|
the new sort algorithm requires just 1.5.
|
|
|
|
2003-07-27 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/pathchk.c (validate_path): Use %lu, not %ld.
|
|
From Paul Eggert.
|
|
* src/cut.c (is_printable_field): Simplify bit arithmetic.
|
|
From Paul Eggert.
|
|
* src/ls.c (sort_files): Put `volatile' in the right place.
|
|
From Paul Eggert.
|
|
|
|
2003-07-26 Jim Meyering <jim@meyering.net>
|
|
|
|
Use only one bit per field/offset in array, not one `int'.
|
|
* src/cut.c (printable_field): Change type to `unsigned char'.
|
|
(mark_printable_field, is_printable_field): New functions.
|
|
Use them in place of all direct accesses of `printable_field'.
|
|
|
|
* src/expand.c (parse_tabstops): Detect overflow properly.
|
|
* src/cut.c (set_fields): Likewise.
|
|
|
|
* src/rm.c: Include "dirname.h".
|
|
(usage): Use base_name (program_name) in body of --help output.
|
|
This lets me...
|
|
* man/Makefile.am (.x.1): ...back out the kludge of 2003-07-22.
|
|
Idea from Brendan O'Dea, who suggested using
|
|
`program_name = basename (argv[0]);' everywhere --
|
|
can't do that, but using base_name works just fine here.
|
|
|
|
* src/Makefile.am (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT): Exempt test.
|
|
|
|
2003-07-24 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Fix some POSIX-compliance problems with 'test'. This makes
|
|
'test' more compatible with Bash.
|
|
|
|
* NEWS, doc/coreutils.texi: Document the following.
|
|
* src/test.c: Include exitfail.h.
|
|
(TEST_FAILURE): New constant, used for exit status if 'test' fails.
|
|
(test-syntax_error): Use it.
|
|
(binary_operator): Now takes bool arg specifying whether left operand
|
|
is -l ARG, so that caller determines this rather than us.
|
|
All uses changed.
|
|
(term): Use posixtest to evaluate parenthesized subexpressions.
|
|
(unary_operator, one_argument): Remove support for -t without operand.
|
|
(one_argument): Take argument from argv[pos].
|
|
(one_argument, two_arguments, three_arguments): Advance pos.
|
|
All callers changed.
|
|
(three_arguments): Look for binary ops before "!". Then look
|
|
for parenthesized one_argument expressions, instead of trusting
|
|
expr () to do the right thing.
|
|
(posixtest): Now takes number of args. All callers changed.
|
|
Treat "( A B )" like "A B".
|
|
(main): Set exit_failure to TEST_FAILURE. Don't depend on
|
|
POSIXLY_CORRECT, as we now conform to POSIX by default.
|
|
(main) [!LBRACKET]: Do not recognize "--help" or "--verbose" unless.
|
|
* tests/test/Test.pm (test_vector): Add several tests to check
|
|
the above. Syntax errors now exit with status 2, not 1.
|
|
* man/Makefile.am (mapped_name): Use `../src/[' binary to create test.1.
|
|
|
|
2003-07-26 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/help-version: Adjust for above change in test behavior:
|
|
`[' exits with 2, not 1, and test doesn't accept --help or --version.
|
|
|
|
* Makefile.maint (ME): Don't use trick suggested in Make manual.
|
|
It doesn't work for make-3.79.1. Reported by Christian Krackowizer.
|
|
|
|
* Makefile.maint (sc_system_h_headers): Another syntax check.
|
|
(syntax-check-rules): Add it to the list.
|
|
|
|
* src/pathchk.c (validate_path): Cast strlen value to `unsigned long'
|
|
so it matches `%ld' format even on 32-bit systems.
|
|
|
|
* src/fmt.c (flush_paragraph): Cast field width to `int' to
|
|
avoid warning on 64-bit systems.
|
|
|
|
* src/ls.c (sort_files): Make `func' volatile, so it can't be
|
|
clobbered by a `longjmp' into this function.
|
|
|
|
2003-07-25 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/pathchk.c (validate_path): Use %ld format (not %d) for size_t
|
|
value.
|
|
|
|
* tests/misc/split-fail: Disable the --line-bytes=$_4gb test,
|
|
because it'd evoke spurious failure on 64-bit systems.
|
|
|
|
2003-07-24 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/dd.c (usage): Document the fact that SIGUSR1 makes dd
|
|
output its current record counts. Reported by Jurriaan.
|
|
|
|
* tests/wc/Test.pm (test_vector): Disable the `PIPE' tests when running
|
|
`wc' with no options. This goes along with the change of 2003-07-20.
|
|
|
|
2003-07-23 Jim Meyering <jim@meyering.net>
|
|
|
|
Don't include headers already included by system.h:
|
|
* src/tr.c: Don't include errno.h.
|
|
* src/true.c: Don't include version-etc.h.
|
|
* src/test.c: Don't include limits.h or error.h.
|
|
* src/stat.c: Don't include unistd.h or time.h.
|
|
* src/readlink.c: Don't include stdlib.h, unistd.h, or limits.h.
|
|
* src/pr.c: Don't include time.h.
|
|
* src/pathchk.c: Don't include errno.h.
|
|
* src/nice.c: Don't include sys/time.h.
|
|
* src/ls.c: Don't include stdlib.h.
|
|
|
|
* basename.c, cat.c, chroot.c, cksum.c, comm.c, csplit.c, cut.c, date.c:
|
|
* dd.c, dirname.c, echo.c, env.c, expand.c, expr.c, factor.c, fmt.c:
|
|
* fold.c, head.c, hostid.c, hostname.c, id.c, join.c, kill.c, logname.c:
|
|
* md5sum.c, nice.c, nl.c, nohup.c, od.c, paste.c, pathchk.c, pinky.c:
|
|
* pr.c, printenv.c, printf.c, ptx.c, pwd.c, seq.c, setuidgid.c, shred.c:
|
|
* sleep.c, sort.c, split.c, stat.c, stty.c, su.c, sum.c, tac.c, tail.c:
|
|
* tee.c, test.c, tr.c, true.c, tsort.c, tty.c, uname.c, unexpand.c:
|
|
* uniq.c, uptime.c, users.c, wc.c, who.c, whoami.c, yes.c:
|
|
Don't include closeout.h.
|
|
|
|
* tests/rm/fail-2eperm: Add a check for whether $NON_ROOT_USERNAME
|
|
can access the required version of rm.
|
|
* tests/rm/Makefile.am (TESTS_ENVIRONMENT): Define PACKAGE_VERSION.
|
|
|
|
* tests/cut/Test.pm (out-delim3a): New test.
|
|
|
|
* man/help2man: Update to version 1.33.
|
|
|
|
* src/expand.c (parse_tabstops): Detect overflow in tabstop sizes.
|
|
|
|
* src/dircolors.c: Include xstrndup.h.
|
|
(xstrndup): Remove function, now that it's been factored out into
|
|
it's own file.
|
|
|
|
2003-07-22 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/wc.c (wc): Fix typo in computation of file from file_x,
|
|
which caused the former to be used uninitialized if file_x was
|
|
nonzero.
|
|
|
|
2003-07-22 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/cut.c (set_fields): Use xcalloc in place of xmalloc+memset.
|
|
|
|
* man/Makefile.am (.x.1): Substitute 's,$t/$*,$*,' on output of
|
|
help2man, to avoid having `rm.td/rm' appear in rm.1. Reported by
|
|
Thomas Luzat. See http://bugs.debian.org/202413 for details.
|
|
|
|
* src/cut.c (main) [lint]: Initialize spec_list_string to avoid warning.
|
|
|
|
* src/hostid.c: Don't include <unistd.h>. system.h already does that.
|
|
|
|
* src/cut.c (set_fields): Mark all selected indices before trying to
|
|
determine range endpoints.
|
|
* tests/cut/Test.pm: New test for the above fix.
|
|
|
|
Begin to address this comment: What if someone wants to
|
|
extract the 1,000,000-th field of some huge input file?
|
|
The first step is to rearrange things so that the values
|
|
in the printable_field array are all 0/1 rather than 0/1/2.
|
|
* src/cut.c (RANGE_START_SENTINEL): Remove.
|
|
Store range-start indices in a hash table, rather than
|
|
overloading the `printable_field' array.
|
|
(range_start_ht): New global.
|
|
(hash_int, hash_compare_ints, is_range_start_index): New functions.
|
|
(print_kth): Use is_range_start_index; don't test printable_field.
|
|
(set_fields): Detect overflow.
|
|
(set_fields): Insert each range-start index into range_start_ht.
|
|
(main): Call set_fields only once, and only after
|
|
output_delimiter_specified and (if required) range_start_ht have
|
|
been defined.
|
|
|
|
2003-07-20 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/wc.c (get_input_fstatus): Fix typo: `stat' was being
|
|
invoked with a null pointer when there were no file arguments.
|
|
|
|
2003-07-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (sc_changelog): Add another nit-picky check.
|
|
|
|
* src/wc.c (write_counts): Add a comment.
|
|
(wc): Rename `file' parameter.
|
|
Set new local, `file', to be the file name, or (when it's NULL)
|
|
_("standard output") so that all uses of `file' use the proper value.
|
|
Use STREQ, not strcmp.
|
|
|
|
2003-07-20 Paul Eggert <eggert@twinsun.com>
|
|
|
|
wc count field widths now are heuristically adjusted depending
|
|
on the input size, if known. If only one count is printed, it
|
|
is guaranteed to be printed without leading spaces.
|
|
|
|
Previously, wc did not align the count fields if
|
|
POSIXLY_CORRECT was set, but POSIX did not actually require
|
|
this undesirable behavior, so it has been removed.
|
|
|
|
* NEWS: Document this.
|
|
* doc/coreutils.texi (wc invocation): Likewise.
|
|
|
|
* src/wc.c (number_width): New var.
|
|
(posixly_correct): Remove.
|
|
(struct fstatus): New struct.
|
|
(write_counts): Output fields of width number_width.
|
|
Do not worry about POSIXLY_CORRECT.
|
|
Use null file, not empty-string file, to denote stdin,
|
|
since "" is a valid file name on some hosts.
|
|
(wc, wc_file): New arg fstatus. Use it to avoid invoking fstat
|
|
if possible.
|
|
(wc): Avoid problems if end_pos - current_pos overflows.
|
|
Do not print odd message if stdin has a read error.
|
|
(get_input_fstatus, compute_number_width): New functions.
|
|
(main): Use them to implement the new behavior.
|
|
Ignore POSIXLY_CORRECT.
|
|
|
|
* tests/wc/Test.pm: Adjust to the new output widths.
|
|
|
|
2003-07-19 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/rm/fail-eperm: Don't create temporary directory --
|
|
we don't use it.
|
|
|
|
* tests/shred/remove: Don't open-code test for UID != 0.
|
|
Use priv-check's require-non-root instead.
|
|
Update to use newer framework.
|
|
|
|
* tests/help-version (expected_failure_status_expr): Record that
|
|
expr exits with status of 3 for e.g., a write error.
|
|
|
|
* tests/priv-check: Use `id -u' to see if we're running as root,
|
|
rather than trying go write to an write-protected file.
|
|
When running as root, ensure $NON_ROOT_USERNAME is valid.
|
|
When running as root with `require-non-root', ensure that `.'
|
|
is writable by $NON_ROOT_USERNAME, then reinvoke $0 set-user-ID
|
|
to $NON_ROOT_USERNAME. If `.' is not writable, then skip the test.
|
|
|
|
* src/printenv.c: Include "exitfail.h".
|
|
(main): Set exit_failure rather than calling close_stdout_set_status.
|
|
* src/date.c: Likewise.
|
|
* src/sort.c: Likewise.
|
|
* src/tty.c: Likewise.
|
|
|
|
2003-07-18 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/touch/not-owner: Update to use newer framework.
|
|
|
|
* tests/rm/fail-eperm: Use $srcdir/../priv-check, create a temporary
|
|
directory, and remove Perl-coded `you may not run as root' test.
|
|
* tests/cp/fail-perm: Use $srcdir/../priv-check, rather than
|
|
hard-coding something not quite equivalent.
|
|
Paul Jarc reported the inconsistent diagnostics.
|
|
|
|
* src/sort.c (main): Use close_stdout via atexit.
|
|
Now `sort --version' and `sort --help' fail, as they should
|
|
when their output is redirected to /dev/full.
|
|
|
|
* src/su.c (usage): Don't call close_stdout here.
|
|
(main): Use close_stdout via atexit.
|
|
Now `su --version > /dev/full' fails, as it should.
|
|
Somehow, the change of 2000-05-07 that purports to fix this
|
|
was not checked in.
|
|
|
|
* tests/help-version (--help/--version vs. /dev/full): Special-case
|
|
`[' to protect it from expected_failure_status-`eval'.
|
|
|
|
* src/uniq.c (writeline): Use a SPACE, not a TAB between the
|
|
count and the corresponding line, as required by POSIX.
|
|
Reported by Clement Wang.
|
|
* tests/uniq/Test.pm (101, 102): Update tests of -c accordingly.
|
|
|
|
* tests/expr/basic: Add tests for when exit status is 2.
|
|
|
|
* src/nohup.c (NOHUP_FOUND_BUT_CANNOT_INVOKE, NOHUP_FAILURE):
|
|
Use an anonymous `enum', rather than #define.
|
|
|
|
2003-07-17 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/expr.c: Include "exitfail.h", "quotearg.h".
|
|
(EXPR_INVALID, EXPR_ERROR): New constants.
|
|
(nomoreargs, null, toarith, nextarg): Return bool, not int.
|
|
(syntax_error): New function, exiting with status 2. Use it
|
|
insteading of printing "syntax error" ourselves.
|
|
(main): Initialize exit_failure to EXPR_ERROR.
|
|
Exit with EXPR_INVALID on syntax error (too few arguments).
|
|
(nextarg): Use strcmp, not strcoll; strcoll might return
|
|
an undesirable 0, or might fail.
|
|
(docolon, eval4, eval3): Exit with status 3 on invalid argument type
|
|
or other such error.
|
|
(eval2): Report an error if strcoll fails in a string comparison.
|
|
* src/sort.c: Include "exitfail.h".
|
|
(main): Set exit_failure, not xalloc_exit_failure and
|
|
xmemcoll_exit_failure.
|
|
* tests/expr/basic: Invalid value exits with status 3, not 2.
|
|
|
|
2003-07-16 Jim Meyering <jim@meyering.net>
|
|
|
|
* configure.ac (AC_INIT): Use 5.0.90 as the version, rather than 5.0.2,
|
|
per GNU maintainer guidelines. The next non-beta release will be 5.1.
|
|
|
|
This script would have caught at least two recent bugs:
|
|
those in [ and kill.
|
|
* tests/help-version: Revive this script.
|
|
It wasn't doing anything useful, since $all_programs wasn't being
|
|
defined by the invoking Makefile.am.
|
|
Reflect that nohup is no longer a script, so don't exclude it.
|
|
Add framework to handle the programs added since it was last run:
|
|
kill, stat, unlink, [, link, readlink.
|
|
Fix path-related problems deriving from the move of this script
|
|
from src/ to its present location.
|
|
* tests/Makefile.am (all_programs): Define.
|
|
(TESTS_ENVIRONMENT): Use it.
|
|
|
|
* src/kill.c (main): Fix bug introduced on 2003-05-10 (for 5.0.1)
|
|
whereby kill would always attempt to operate on argv[0] and fail.
|
|
|
|
* src/test.c (integer_expected_error): Improve diagnostic -- now,
|
|
it also matches the one from bash's builtin test.
|
|
(binary_operator): Add \n at end of diagnostic.
|
|
|
|
* tests/rm/fail-2eperm: Remove setuidgid-related code. Move it to ...
|
|
* tests/priv-check: Move setuidgid-related and
|
|
NON_ROOT_USERNAME-checking code to this file.
|
|
|
|
* README: Update section on testing as `root'.
|
|
Suggestion from Paul Jarc.
|
|
|
|
* src/test.c (AUTHORS): Replace 3-letter usernames with the actual
|
|
names of authors that I just found in bash's builtins/test.def.
|
|
|
|
Running `[' with no arguments would evoke a segfault.
|
|
* src/test.c (main) [LBRACKET]: Move initialization of argv to
|
|
precede potential use via test_syntax_error.
|
|
|
|
* src/Makefile.am (AM_CPPFLAGS): Rename from `INCLUDES', to avoid
|
|
warning from automake -Wall.
|
|
|
|
2003-07-15 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 5.0.1.
|
|
|
|
* Makefile.maint (%.asc): Remove target first, so gpg doesn't
|
|
prompt us about it.
|
|
|
|
* announce-gen (print_changelog_deltas): Relax tests for matching
|
|
version-number line in NEWS.
|
|
Change the .sig suffix to .asc here, too.
|
|
|
|
2003-07-14 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (%.asc): Renamed from %.sig.
|
|
Generate and use ascii-armored signatures.
|
|
Use gpg's -o option.
|
|
|
|
2003-07-13 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/nohup.c (NOHUP_FAILURE, NOHUP_FOUND_BUT_CANNOT_INVOKE): Define.
|
|
(main): Use them.
|
|
|
|
* Makefile.maint (syntax-check): Move each individual check into
|
|
its own target.
|
|
(syntax-check-rules): This is the list of syntax-check targets.
|
|
(sc_unmarked_diagnostics, sc_cast_of_argument_to_free):
|
|
(sc_cast_of_x_alloc_return_value, sc_space_tab):
|
|
(sc_error_exit_success, sc_xalloc_h_in_src): New targets.
|
|
|
|
2003-07-12 Jim Meyering <jim@meyering.net>
|
|
|
|
* configure.ac: Remove uses of OPTIONAL_BIN_ZCRIPTS and last
|
|
traces of the nohup script.
|
|
|
|
* src/Makefile.am (bin_SCRIPTS): Remove use of just-removed
|
|
$(OPTIONAL_BIN_ZCRIPTS).
|
|
|
|
* src/Makefile.am (localedir.h): Put the `2>&1' after the redirect
|
|
target, not before the `>'.
|
|
|
|
* src/remove.c (remove_dir): Give a diagnostic upon failed save_cwd,
|
|
now that that function no longer calls `error'.
|
|
|
|
* src/df.c (find_mount_point): Emit a diagnostic for each
|
|
failed syscall, rather than relying on caller to do that.
|
|
The caller couldn't do a good job, anyhow -- too many different
|
|
ways to fail (each with a different referent).
|
|
Give a diagnostic upon failed save_cwd, now that that function
|
|
no longer calls `error'.
|
|
(show_point): Don't diagnose find_mount_point's errors, now that
|
|
it handles them itself.
|
|
|
|
* src/df.c (find_mount_point): Don't let free clobber errno upon
|
|
failed chdir.
|
|
|
|
* src/sys2.h: Remove alloca-related block.
|
|
* src/system.h: Include <alloca.h> here, instead.
|
|
|
|
It appears that the `#pragma alloca' included via "system.h" is
|
|
adequate, since join.c uses alloca, yet lacked an in-file #pragma.
|
|
* src/copy.c, src/cp.c, src/df.c, src/install.c, src/ln.c:
|
|
* src/ls.c, src/mv.c, src/remove.c: Remove `#pragma alloca'.
|
|
|
|
* src/chown-core.c (change_file_owner): Do not restore any special
|
|
permission bits (e.g., set-user-ID, set-group-ID) that are reset
|
|
by chown(2) on some systems. Suggestion and insistence :-) from
|
|
Michael Stone.
|
|
|
|
* tests/input-tty: Also check `test -t 1'.
|
|
This is necessary on linux-2.4.21. Otherwise, the stty/basic-1
|
|
test would block when run in the background.
|
|
|
|
2003-07-11 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/sample-test: Also fail if cat-to-create-expected-output
|
|
fails. Otherwise, if both `exp' and `out' were to end up empty
|
|
because of e.g., a full disk, they would mistakenly compare equal.
|
|
|
|
* src/nohup.c: New file. Rewrite of nohup.sh in C.
|
|
This solves a portability problem: on at least Solaris systems,
|
|
when nohup.sh used the vendor /bin/sh, it would exit with status
|
|
of `1' rather than the required 126 or 127 upon failure to exec
|
|
the specified program.
|
|
|
|
* src/Makefile.am (EXTRA_SCRIPTS): Remove definition.
|
|
(bin_PROGRAMS): Add nohup.
|
|
(EXTRA_DIST): Remove nohup.sh.
|
|
(all_programs): Remove use of $(EXTRA_SCRIPTS).
|
|
* src/nohup.sh: Remove file.
|
|
* man/Makefile.am (nohup.1): Depend on nohup.c, rather than nohup.sh.
|
|
|
|
* tests/misc/nohup: Tests for the above.
|
|
* tests/misc/Makefile.am (TESTS): Add nohup.
|
|
|
|
* src/head.c (diagnose_copy_fd_failure): New function, renamed from
|
|
the macro, COPY_FD_DIAGNOSE.
|
|
(diagnose_copy_fd_failure): Enclose diagnostic in _(...).
|
|
(head_file): Likewise.
|
|
|
|
* src/date.c: Include "quote.h".
|
|
(batch_convert): Use the quote function rather than using literal `...'
|
|
in a diagnostic.
|
|
|
|
* src/setuidgid.c (main): Enclose diagnostic in _(...).
|
|
* src/fmt.c (main): Likewise.
|
|
* src/mknod.c (main): Likewise.
|
|
* src/tac.c (tac_seekable): Likewise.
|
|
* src/yes.c (main): Likewise.
|
|
* src/od.c (main): Likewise.
|
|
* src/install.c (change_attributes): Likewise.
|
|
|
|
2003-07-10 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/head.c (usage): Use 1024*1024 in place of 1048576.
|
|
* src/tail.c (usage): Likewise.
|
|
|
|
* tests/rm/fail-2eperm: Now that we have setuidgid, use it in
|
|
place of the kludge in this test. Suggestion from Paul Jarc.
|
|
|
|
* src/Makefile.am (noinst_PROGRAMS): Define to setuidgid.
|
|
* src/setuidgid.c: New program, solely for testing (not installed).
|
|
|
|
* src/chown-core.c (change_file_owner): Don't leak file descriptors
|
|
when dereferencing symlinks.
|
|
|
|
2003-07-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/du/slash: New file/test for today's lib/ftw.c fix.
|
|
* tests/du/Makefile.am (TESTS): Add slash
|
|
|
|
* src/tail.c (xlseek): Avoid warning about ``return without value
|
|
from function returning non-void''.
|
|
|
|
2003-07-08 Jim Meyering <jim@meyering.net>
|
|
|
|
* man/help2man: Update to version 1.29.
|
|
|
|
* man/help2man: Add END handler to close STDOUT and check for errors.
|
|
|
|
2003-06-30 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Add support for a "[" that conforms to the GNU coding standards,
|
|
i.e., that does not depend on its name.
|
|
* src/lbracket.c: New file.
|
|
* README: Add "[".
|
|
* man/Makefile.am (programs): Ignore "[", since it doesn't have
|
|
a separate man page.
|
|
* src/Makefile.am (bin_PROGRAMS): Add "[".
|
|
(__SOURCES): New var.
|
|
* src/test.c (LBRACKET): Define to 0 if not defined.
|
|
(main): Use LBRACKET rather than argv[0].
|
|
|
|
* src/test.c (one_argument): Do not check for -t if POSIXLY_CORRECT.
|
|
Reported by Paul Jarc and Dan Jacobson.
|
|
|
|
* src/test.c (main): Do not recognize --help or --version if
|
|
POSIXLY_CORRECT, when invoked as "test". Handle "[ ]" correctly.
|
|
Do not bother testing that margv[margc] is non-null.
|
|
|
|
2003-07-04 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/who.c (print_line): Rewrite to use asprintf, in order to be
|
|
able to avoid emitting trailing spaces. Reported by Dan Jacobson.
|
|
|
|
* tests/misc/head-elide-tail: Add tests of head's new --lines=-N
|
|
option, and perform the +1600 invocations of head IFF the envvar
|
|
RUN_EXPENSIVE_TESTS is set.
|
|
|
|
2003-07-03 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/cp.c (do_copy): Give a better diagnostic when failing due
|
|
to nonexistent destination directory. Reported by Dmitry Rutsky.
|
|
See http://bugs.debian.org/199730 for details.
|
|
|
|
2003-06-27 Jim Meyering <jim@meyering.net>
|
|
|
|
split's --verbose option did nothing [broken in 4.5.10 and 5.0]
|
|
* src/split.c (longopts): Use `1', not `0' as the value for
|
|
for &verbose. Reported by Keith Thompson.
|
|
|
|
Test for the above fix.
|
|
* tests/misc/split-a: Also use --verbose and compare stderr
|
|
output with what we'd expect.
|
|
|
|
2003-06-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/copy.c (copy_internal) [HAVE_STRUCT_STAT_ST_AUTHOR]:
|
|
Use `error_t' (rather than int) as type for local `err'.
|
|
From Alfred M. Szmidt.
|
|
|
|
2003-06-19 Marcus Brinkmann <marcus@gnu.org>
|
|
|
|
* src/copy.c (copy_internal) [HAVE_STRUCT_STAT_ST_AUTHOR]:
|
|
Fix author preservation code.
|
|
|
|
2003-06-19 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/ln.c (ENABLE_HARD_LINK_TO_SYMLINK_WARNING): Define to 0.
|
|
(do_link): Don't warn about hard link to symlink.
|
|
|
|
2003-06-18 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/cut.c: Include "getdelim2.h", not "getstr.h".
|
|
Reflect renaming: getstr -> getdelim2.
|
|
|
|
* src/comm.c, src/join.c, src/nl.c, src/uniq.c: Reflect renaming:
|
|
readline -> readlinebuffer.
|
|
|
|
2003-06-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
|
|
|
* src/readlink.c: Include <sys/types.h> before system.h (because
|
|
the latter includes <sys/stat.h>). Required on Ultrix 4.3.
|
|
|
|
2003-06-17 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/system.h (initialize_main): Define.
|
|
Use it in every `main'. Applied via this:
|
|
p='initialize_main (&argc, &argv);'
|
|
perl -ni -e '/program_name.=.argv.0/ and print " '"$p"'\n"; print' \
|
|
$(grep -l program_name.=.argv.0 *.c)
|
|
test.c uses margc/margv, so I made the change manually for that file.
|
|
Based on a patch from Bernard Giroud.
|
|
|
|
2003-06-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
|
|
|
Fix for build failure on Ultrix 4.3.
|
|
* src/stat.c: Include sys/statvfs.h in preference to sys/vfs.h.
|
|
Include sys/param.h and sys/mount.h on ultrix.
|
|
|
|
2003-06-16 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/touch.c (O_NDELAY, O_NONBLOCK, O_NOCTTY, EISDIR): Remove
|
|
definitions.
|
|
* src/system.h (O_NDELAY, O_NONBLOCK, O_NOCTTY, EISDIR): Define
|
|
them here instead, but with one change: define EISDIR to -1, not 0.
|
|
|
|
* src/cat.c (cat): Remove `#ifndef ENOSYS', now that it's
|
|
guaranteed to be defined.
|
|
* src/system.h (ENOSYS, ENOTSUP): Define to -1 if not defined.
|
|
|
|
* README: Mention the CVS repository.
|
|
Encourage addition of test cases.
|
|
|
|
2003-06-12 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/touch.c (touch): Call close only if necessary.
|
|
From Bruno Haible.
|
|
|
|
* src/wc.c (usage): Correct wording: wc prints counts in the order
|
|
`newline, word, byte'. Reported by Keith M. Briggs.
|
|
* man/wc.x: Fix it here, too. And change `lines' to `newlines'.
|
|
|
|
2003-06-10 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/date/Test.pm: Add a test for the new format, e.g., May-23-2003.
|
|
|
|
2003-06-07 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (syntax-check): Add commented-out (over-aggressive)
|
|
rule.
|
|
|
|
2003-06-06 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/extract-magic (main): Avoid newer 3-arg form of open,
|
|
so this script works also with e.g., perl5.005_03.
|
|
Patch by John David Anglin.
|
|
|
|
2003-06-04 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/system.h: Include <stdbool.h> unconditionally.
|
|
|
|
2003-06-04 Jim Meyering <jim@meyering.net>
|
|
|
|
* man/Makefile.am (check-programs-vs-x): Rename target
|
|
from check-programs-vs-1. Adjust rule to check for the
|
|
primary (.x) file, not the generated one (.1).
|
|
|
|
2003-06-03 Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu>
|
|
|
|
* man/kill.x: New file.
|
|
* man/Makefile.am (dist_man_MANS): Add kill.1.
|
|
(kill.1): New rule.
|
|
|
|
2003-06-04 Jim Meyering <jim@meyering.net>
|
|
|
|
Ensure that the .x file for a new program is never forgotten again.
|
|
* man/Makefile.am (programs): Define.
|
|
(check-programs-vs-1): New phony target.
|
|
(check-local): Depend on it.
|
|
|
|
2003-06-03 Jim Meyering <jim@meyering.net>
|
|
|
|
Avoid unnecessary copying of environment.
|
|
* src/env.c (main): Rather than clearing the environment and --
|
|
unless told to ignore environment -- copying all settings from
|
|
the saved, original environment, clear the environment only when
|
|
that is requested. Suggested by Jens Elkner.
|
|
|
|
2003-06-02 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/system.h: Always include <string.h>, since we assume C89.
|
|
Include <limits.h> without checking for HAVE_LIMITS_H.
|
|
|
|
* src/test.c [!TEST_STANDALONE]: Remove #if-0'd block.
|
|
(STREQ, S_IXUGO): Remove redundant (in system.h) definitions.
|
|
|
|
2003-06-01 Jim Meyering <jim@meyering.net>
|
|
|
|
Avoid a race condition in `tail -f' described by Ken Raeburn in
|
|
http://mail.gnu.org/archive/html/bug-textutils/2003-05/msg00007.html
|
|
* src/tail.c (file_lines): Add new parameter, *read_pos, and set it.
|
|
(pipe_lines, pipe_bytes, start_bytes, start_lines): Likewise.
|
|
(tail_bytes, tail_lines, tail): Likewise.
|
|
(tail_file): Use the new `read_pos' value as the size,
|
|
rather than stats.st_size from the fstat call.
|
|
|
|
2003-05-28 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/extract-magic: Allow expansion of `$file' in the here-
|
|
document corresponding to the comment at the top of fs.h.
|
|
|
|
2003-05-26 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/stat.c: Fix portability problem on FreeBSD5.0: don't include
|
|
<sys/statvfs.h> on systems without HAVE_STRUCT_STATVFS_F_BASETYPE.
|
|
Use #if/#elif/... cascade so we get only one set of include files.
|
|
Reported by Nelson Beebe.
|
|
|
|
2003-05-24 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/md5sum.c (split_3): Accept the BSD format only when in MD5 mode.
|
|
* tests/sha1sum/basic-1: Make sure `sha1sum --check' doesn't
|
|
accept the BSD format.
|
|
|
|
2003-03-28 Joe Orton <jorton@redhat.com>
|
|
|
|
* src/md5sum.c (bsd_split_3): New function.
|
|
(split_3): Detect checksums from BSD 'md5' command and handle them
|
|
using bsd_split_3.
|
|
|
|
* tests/md5sum/basic-1: New tests for --check exit status, and for
|
|
BSD-style checksum files.
|
|
|
|
2003-05-21 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/head.c (elide_tail_lines_pipe): Fix a thinko.
|
|
This sort of thing is why it'd be *Really Good* to factor
|
|
out the common code used here and in tail.c.
|
|
|
|
2003-05-14 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/head.c (usage): Document new feature: --bytes=-N and --lines=-N.
|
|
|
|
* tests/du/slink: Skip this test if `.' is on an XFS file system.
|
|
|
|
* tests/du/fd-leak: New file. Test for the bug in du that
|
|
was fixed by the 2003-05-12 change to lib/ftw.c.
|
|
* tests/du/Makefile.am (TESTS): Add fd-leak.
|
|
|
|
* src/head.c (AUTHORS): Enclose string in N_(...), now that it
|
|
includes a translatable word, `and'.
|
|
|
|
* src/dd.c (usage): Don't use `,' as the thousands separator
|
|
in e.g. 1,000,000 and 1,048,576. Instead, do this:
|
|
`SIZE may be ..., MB 1000*1000, M 1024*1024 and so on...'
|
|
* src/df.c (usage): Likewise.
|
|
* src/du.c (usage): Likewise.
|
|
* src/ls.c (usage): Likewise.
|
|
|
|
* Makefile.maint (syntax-check): Add another check.
|
|
|
|
2003-05-13 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Fix uniq to conform to POSIX, which requires that "uniq -d -u"
|
|
must output nothing. Problem reported by Josh Hyman.
|
|
|
|
* src/uniq.c (enum output_mode, mode): Remove, replacing with:
|
|
(output_unique, output_first_repeated, output_later_repeated):
|
|
New vars. All uses of "mode" changed to use these variables,
|
|
which are not mutually exclusive as "mode" was.
|
|
(writeline): New arg "match", used to control whether to
|
|
obey output_first_repeated or output_later_repeated.
|
|
All callers changed.
|
|
(check_file, main): Adjust to above changes.
|
|
|
|
* tests/uniq/Test.pm: Test that 'uniq -d -u' outputs nothing.
|
|
|
|
2003-05-14 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/rm/rm3: Use tr's \n notation rather than \012.
|
|
This package can afford to do that, since its tests are guaranteed use
|
|
GNU tr, which has accepted the more modern notation for 10 years.
|
|
* tests/rm/rm5: Likewise.
|
|
* tests/cp/same-file: Likewise.
|
|
* tests/stty/row-col-1: Likewise.
|
|
* tests/stty/basic-1: Likewise.
|
|
* tests/rm/deep-1: Likewise.
|
|
* tests/mv/part-symlink: Likewise.
|
|
* tests/mkdir/perm: Likewise.
|
|
* tests/misc/nice: Likewise.
|
|
|
|
2003-05-13 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/copy.c (struct F_triple) [name]: Remove const attribute.
|
|
(triple_free): Don't apply cast to argument of free.
|
|
(seen_file): Add cast here instead.
|
|
|
|
* src/cp-hash.c (struct Src_to_dest) [name]: Remove const attribute.
|
|
(src_to_dest_free): Don't apply cast to argument of free.
|
|
|
|
* src/sort.c (zaptemp): Don't apply cast to argument of free.
|
|
* src/pr.c (init_fps, init_store_cols): Likewise.
|
|
* src/join.c (delseq, freeline): Likewise.
|
|
* src/expr.c (OLD): Likewise.
|
|
* src/sort.c (sort): Likewise.
|
|
* src/head.c (elide_tail_lines_pipe): Likewise.
|
|
|
|
* src/tail.c: Include "quote.h".
|
|
Use quote in diagnostics. Change many error format strings
|
|
from just `%s' to e.g., `error reading %s'.
|
|
(pipe_lines): Change type of parameter, n_lines, to uintmax_t.
|
|
Rewrite newline-counting loop to use memchr.
|
|
|
|
* src/head.c (elide_tail_lines_pipe): Use `if', not assert.
|
|
Now that assert is no longer used, don't include <assert.h>.
|
|
|
|
2003-05-12 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/head.c: Include <assert.h>.
|
|
(AUTHORS): Add my name.
|
|
(elide_tail_lines_pipe): New function.
|
|
|
|
2003-05-10 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (syntax-check): Check for `error (EXIT_SUCCESS,'.
|
|
|
|
* src/readlink.c (main): Set program_name before first use.
|
|
Remove that (redundant) first use.
|
|
Don't exit successfully just because --verbose was specified.
|
|
Pass 0, not EXIT_SUCCESS, as first argument to error; when that
|
|
parameter is 0, error does not exit.
|
|
|
|
* src/uname.c (main): When failing due to too many arguments, also say
|
|
that, rather than just "Try `uname --help' for more information.".
|
|
* src/comm.c (main): Likewise, but for too few arguments.
|
|
* src/logname.c: Include error.h.
|
|
(main): Say why we're failing.
|
|
|
|
* src/uniq.c (main): Don't segfault when argc < optind.
|
|
* src/who.c (main): Handle argc < optind.
|
|
* src/df.c (main): Likewise.
|
|
* src/install.c (main): Likewise.
|
|
* src/mv.c (main): Likewise.
|
|
* src/pwd.c (main): Likewise.
|
|
* src/tty.c (main): Likewise.
|
|
* src/chroot.c (main): Likewise.
|
|
* src/hostname.c: Likewise.
|
|
* src/du.c (main): Likewise.
|
|
* src/expand.c (main): Likewise.
|
|
* src/env.c (main): Likewise.
|
|
* src/unexpand.c (main): Likewise.
|
|
* src/printenv.c (main): Likewise.
|
|
* src/sync.c (main): Handle argc == 0.
|
|
* src/expr.c (main): Likewise.
|
|
* src/printf.c (main): Likewise.
|
|
* src/basename.c (main): Likewise.
|
|
* src/ln.c (main): Test for `missing argument' before computing n_files.
|
|
* src/tail.c (main): Test for the case of no arguments before
|
|
computing n_files.
|
|
|
|
* src/kill.c (send_signals): Don't check command line arguments here.
|
|
(main): Check them here instead. Handle argc < optind.
|
|
|
|
* src/logname.c (main): Use error, rather than fprintf, for the sake
|
|
of consistency.
|
|
|
|
* src/rm.c (main): Don't overrun array bound if argc is 0.
|
|
|
|
2003-05-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/sort.c (main): Don't overrun array bound if argc is 0.
|
|
That would happen when invoked via: execl ("/usr/bin/sort", NULL);
|
|
Reported by Wartan Hachaturow.
|
|
|
|
2003-05-07 Jim Meyering <jim@meyering.net>
|
|
|
|
Implement support so that `head --lines=-N' works on seekable files.
|
|
* src/head.c (enum Copy_fd_status): Define.
|
|
(COPY_FD_DIAGNOSE): New macro.
|
|
(elide_tail_lines_seekable): New funtion.
|
|
(elide_tail_lines_file): Call it here.
|
|
|
|
2003-05-06 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/sys2.h (CHAR_BIT): Remove duplicate definition.
|
|
|
|
2003-05-04 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/head/Test.pm: Remove tests of --bytes=-N; using that framework
|
|
caused the addition of thousands of small files to the tar archive.
|
|
* tests/misc/head-elide-tail: New file. Add them here instead.
|
|
* tests/misc/Makefile.am (TESTS): Add head-elide-tail.
|
|
|
|
2003-05-04 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/remove.c (HAVE_WORKING_READDIR): Define to 0 if not defined.
|
|
(IF_READDIR_NEEDS_REWINDDIR): Remove.
|
|
(remove_cwd_entries): Rewrite to avoid IF_READDIR_NEEDS_REWINDDIR,
|
|
which was a bit weird because it couldn't be emulated by a function.
|
|
|
|
2003-05-03 Jim Meyering <jim@meyering.net>
|
|
|
|
Extend head to accept --lines=-N (--bytes=-N) and to print all
|
|
but the N lines (bytes) at the end of the file.
|
|
* src/head.c: Include full-write.h, full-read.h, inttostr.h, quote.h.
|
|
Use quote() in diagnostics, rather than literal `' marks.
|
|
(copy_fd, elide_tail_bytes_pipe, elide_tail_bytes_file):
|
|
New functions.
|
|
(elide_tail_lines_pipe, elide_tail_lines_file): New functions.
|
|
(head_file): Reorganize so as to call head from only one place.
|
|
(main): Likewise, for head_file.
|
|
Handle new, undocumented option, --presume-input-pipe.
|
|
Handle negative line and byte counts.
|
|
* tests/head/Test.pm: Add lots of tests to exercise --bytes=-N.
|
|
|
|
* tests/du/8gb: Skip test if the file system of `.' doesn't support
|
|
sparse files -- otherwise it'd create a file of size 8GB.
|
|
|
|
2003-05-02 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/fmt.c (usage): Don't mention obsolescent -WIDTH option.
|
|
Instead explain about `-' and standard input.
|
|
(main): Give a proper diagnostic for e.g., `fmt -c -72'.
|
|
Reported by Keith Thompson.
|
|
* tests/fmt/basic: Add test for the above fix.
|
|
|
|
* src/fmt.c: Include "quote.h".
|
|
Use quote() in diagnostics, rather than literal `' marks.
|
|
(main): Exit nonzero when unable to open an input file.
|
|
* tests/fmt/basic: Add test for the above fix.
|
|
|
|
* src/fmt.c (main): Diagnose invalid suffix on obsolescent width
|
|
specifications like `-72x'.
|
|
* tests/fmt/basic: Add test for the above fix.
|
|
|
|
Work around nasty readdir bug on Darwin6.5.
|
|
* src/remove.c (IF_READDIR_NEEDS_REWINDDIR): Define.
|
|
[! HAVE_WORKING_READDIR] (remove_cwd_entries): If readdir has just
|
|
returned NULL and there has been at least one successful unlink or
|
|
rmdir call since the opendir or previous rewinddir, then call
|
|
rewinddir and reiterate the loop.
|
|
|
|
Factor out common code.
|
|
* src/remove.c (readdir_ignoring_dotdirs): New function.
|
|
(is_empty_dir): Use it here.
|
|
(remove_cwd_entries): Use it here.
|
|
|
|
2003-05-01 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/rm/r-3: Create 500 rather than just 300 files.
|
|
There's a bug in Darwin6.5's readdir that shows up only with
|
|
338 or more files.
|
|
Fix a bug in this test: `cd $pwd' (not to `..'), now that $tmp
|
|
has two components.
|
|
|
|
* src/tail.c:
|
|
Change type of n_units, n_bytes, n_lines to be `uintmax_t'.
|
|
(dump_remainder): Move two declarations `down' into the scope
|
|
where they are used.
|
|
(xlseek): Return the resulting offset.
|
|
(file_lines): Rename parameter, file_length, to end_pos.
|
|
(pipe_lines): Don't coerce safe_read return value to `int'.
|
|
Adapt tests accordingly.
|
|
(pipe_bytes) [struct charbuffer] (nbytes): Change type from `int'
|
|
to `unsigned int'.
|
|
Change type of `total_bytes' from `int' to `size_t',
|
|
since the former wouldn't always be wide enough.
|
|
Don't coerce safe_read return value to `int',
|
|
and adapt tests accordingly.
|
|
Now that testing for a read error no longer involves
|
|
using `tmp', handle that case *after* freeing `tmp'.
|
|
(start_bytes): Clean up.
|
|
(tail_bytes): Now that `n_bytes' may be larger than
|
|
OFF_T_MAX, test for that condition and, if it's true, don't
|
|
use lseek optimizations.
|
|
(parse_options): Don't fail just because N_UNITS is larger than
|
|
the maximum size of a file -- tail may be applied to an input
|
|
stream (e.g., a pipe) with more data than that.
|
|
|
|
* Makefile.maint (syntax-check): Rename from alloc-check.
|
|
Also check for SPACE-TAB sequences.
|
|
Also check for malloc/calloc/realloc casts.
|
|
|
|
2003-05-01 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/tail.c (start_lines): Rewrite to use memchr. Clean up.
|
|
|
|
2003-04-28 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/misc/tty-eof: Send two tokens, not just one, so we don't
|
|
make the now-more-picky tsort fail.
|
|
|
|
2003-04-24 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/tsort.c (tsort): Remove unnecessary test of have_read_stdin.
|
|
(main): Minor syntactic clean-up.
|
|
|
|
* src/tsort.c (tsort): Fail if the input contains an odd number of
|
|
tokens. Reported by junkio@cox.net.
|
|
|
|
* tests/tsort/basic-1: Test for the above fix.
|
|
|
|
2003-04-21 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/misc/printf: Add tests for the printf fixes below.
|
|
|
|
* Makefile.cfg (cvs_files): Add $(srcdir)/config/depcomp to the list.
|
|
|
|
2003-04-20 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Fix printf POSIX compatibility bug reported by Ben Harris in
|
|
<http://mail.gnu.org/archive/html/bug-coreutils/2003-04/msg00070.html>.
|
|
* doc/coreutils.texi (printf invocation): It's \NNN in the format,
|
|
\0NNN in the %b operand.
|
|
* src/printf.c (usage): Likewise.
|
|
(print_esc): New arg OCTAL0 to specify whether \0NNN or \NNN
|
|
is desired. All uses changed. Behave like Bash printf if %b
|
|
operand uses \NNN where the initial N is not 0.
|
|
|
|
2003-04-17 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/stty.c: Remove uses of PROTOTYPE macro.
|
|
|
|
2003-04-15 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint: Remove (or replace-with-TAB(s) to retain alignment)
|
|
each sequence of spaces before a TAB character.
|
|
|
|
2003-04-13 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/remove.c (is_empty_dir): Don't closedir (NULL).
|
|
|
|
2003-04-12 Jim Meyering <jim@meyering.net>
|
|
|
|
Giving nl an invalid STYLE argument (in --header-numbering=STYLE (-h),
|
|
--body-numbering=STYLE (-b), or --footer-numbering=STYLE (-f)) or
|
|
FORMAT (--number-format=FORMAT (-n)) would not give a useful diagnostic.
|
|
* src/nl.c (main): Fix those problems and remove literal quote marks
|
|
(e.g., "`%s'") from format string; instead use "%s" in each format
|
|
string and `quote (optarg)' as the corresponding argument.
|
|
Also, diagnose all invalid command line options before failing.
|
|
|
|
* src/nl.c (proc_text): Fix a bug that would make nl output extra
|
|
newlines in some cases. Details here: http://bugs.debian.org/177256.
|
|
This bug was introduced on 2001-11-10 for textutils-2.0.17.
|
|
* tests/misc/nl: Add test for the above-fixed bug.
|
|
|
|
* tests/misc/readlink: New file. Test the --canonicalize option.
|
|
* tests/misc/Makefile.am (TESTS): Add readlink.
|
|
|
|
2003-04-11 Jim Meyering <jim@meyering.net>
|
|
|
|
Clean up.
|
|
* src/chown.c, src/cp.c, src/dircolors.hin, src/du.c, src/ln.c:
|
|
* src/mkfifo.c, src/ptx.c, src/spline.c, src/stty.c, src/tail.c:
|
|
* src/test.c, src/unexpand.c: Remove (or replace-with-TAB(s) to
|
|
retain alignment) each sequence of spaces before a TAB character.
|
|
|
|
* src/ls.c: Include <stdlib.h> unconditionally.
|
|
|
|
* Makefile.maint (xalloc-check): Rename from header-check.
|
|
|
|
* src/yes.c: Include error.h after system.h, not before.
|
|
|
|
Clean up.
|
|
* src/copy.c, src/cp-hash.c, src/cp.c, src/csplit.c, src/cut.c:
|
|
* src/date.c, src/df.c, src/du.c, src/expand.c, src/expr.c, src/id.c:
|
|
* src/join.c, src/md5sum.c, src/nl.c, src/od.c, src/paste.c, src/pr.c:
|
|
* src/ptx.c, src/sort.c, src/split.c, src/su.c, src/tail.c, src/tee.c:
|
|
* src/tr.c: * src/unexpand.c, src/users.c:
|
|
Remove anachronistic casts of xmalloc, xrealloc, and xcalloc
|
|
return values and of xrealloc's first argument.
|
|
Fix the former with this:
|
|
perl -pi -e 's/\([^(]*?\*\) *(x(m|c|re)alloc)\b/$1/'
|
|
|
|
2003-04-10 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/stty.c (wrapf): Declare with format attribute.
|
|
|
|
The S_MAGIC_... names shouldn't be maintained in two places (prior
|
|
to this change, one would have to keep stat.c and fs.h in sync).
|
|
This change makes it so those names and the corresponding
|
|
hexadecimal constants all reside in stat.c. fs.h is now generated.
|
|
* src/Makefile.am (fs.h): New rule to generate fs.h from stat.c.
|
|
(BUILT_SOURCES): Add fs.h, now that it's generated.
|
|
(EXTRA_DIST): Add extract-magic.
|
|
* src/extract-magic: New script to extract fs.h definitions from stat.c.
|
|
* src/stat.c (human_fstype) [__linux__]: Append each hex constant from
|
|
fs.h in a comment after the corresponding `case S_MAGIC_...:' statement.
|
|
|
|
* tests/tail-2/big-4gb: Skip this test (don't fail) if creating a
|
|
file with nominal length > 4GB fails. Reported by Michael Deutschmann.
|
|
|
|
* man/unexpand.x: Add `SEE ALSO' reference to expand.
|
|
* man/expand.x: Add `SEE ALSO' reference to unexpand.
|
|
Suggestion from Dan Jacobson.
|
|
|
|
2003-04-10 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
|
|
|
|
* src/fs.h (S_MAGIC_DEVPTS): New magic for Linux's devpts.
|
|
* src/stat.c (human_fstype): Handle Linux's devpts.
|
|
|
|
2003-04-09 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/split.c (line_bytes_split): Arg is of type size_t, since
|
|
that's all that is supported for now.
|
|
(main): Check for overflow in obsolescent line count option.
|
|
|
|
2003-04-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/misc/split-fail: Add a new test for the above fix.
|
|
|
|
* src/split.c (bytes_split): Use size_t temporary (rather than
|
|
uintmax_t original) in remaining computations. From Paul Eggert.
|
|
|
|
Handle command line option arguments larger than 2^31.
|
|
This allows e.g., splitting into files of size 2GB and larger,
|
|
and running split --lines=N with N=2^31 or more.
|
|
But for --line-bytes=N, the restriction that N <= SIZE_MAX
|
|
remains (for now), due to the way it is implemented.
|
|
|
|
* src/split.c: Include "inttostr.h".
|
|
(bytes_split, lines_split, line_bytes_split, main):
|
|
Use uintmax_t, not size_t, for file sizes.
|
|
(main): Give a better diagnostic for option arguments == 0.
|
|
Use umaxtostr to print file sizes.
|
|
Reported by Luke Hassell.
|
|
|
|
2003-04-08 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/rm.c (usage): Mention that --directory (-d) works only
|
|
on some systems. Suggestion from Samuel Tardieu.
|
|
|
|
* tests/basename/basic: Run $PERL to see if it is available,
|
|
rather than testing its value.
|
|
* tests/sum/sysv, tests/tsort/basic-1, tests/unexpand/basic-1:
|
|
* tests/basename/basic, tests/dd/skip-seek, tests/dircolors/simple:
|
|
* tests/expr/basic, tests/factor/basic, tests/fmt/basic:
|
|
* tests/ls-2/tests, tests/md5sum/basic-1, tests/md5sum/newline-1:
|
|
* tests/misc/sort, tests/misc/tty-eof, tests/mv/i-1:
|
|
* tests/rm/empty-name, tests/rm/fail-eperm, tests/rm/unreadable:
|
|
* tests/seq/basic, tests/sha1sum/basic-1, tests/sha1sum/sample-vec:
|
|
* tests/sum/basic-1, tests/seq/basic: Likewise.
|
|
|
|
* tests/misc/Makefile.am (TESTS): Add split-fail.
|
|
* tests/misc/split-fail: New file.
|
|
|
|
* src/split.c: Rename local variables: nchars -> n_bytes.
|
|
(lines_split): Rename local, nlines -> n_lines.
|
|
(main): Rename local variable: s/accum/n_units/.
|
|
(main): Use STDIN_FILENO, not literal `0'.
|
|
|
|
2003-04-07 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/stat.c: Add #include directives for Ultrix 4.4.
|
|
Based on a suggested change from Bert Deknuydt.
|
|
|
|
2003-04-06 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (makefile-check): New rule.
|
|
(local-check): Add it.
|
|
|
|
2003-04-05 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.am (nearly all of them):
|
|
Use $(VAR) rather than @VAR@, now that we can rely on automake to
|
|
emit a definition for each substituted variable.
|
|
* tests/Makefile.am.in: Likewise.
|
|
|
|
* tests/rm/rm5: Add a comment explaining why this test fails when
|
|
using Tru64's broken sed.
|
|
* tests/rm/rm3: Likewise.
|
|
|
|
Make `kill -t' output signal descriptions (not `?') on Tru64.
|
|
* src/kill.c (sys_siglist): Also check for __sys_siglist.
|
|
Patch by Tony Leneis.
|
|
* configure.ac: Also check for declaration of __sys_siglist.
|
|
Required for Tru64 4.0D, 4.0F, and 5.1.
|
|
Reported by Tony Leneis.
|
|
|
|
2003-04-04 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/Makefile.am (PERL): Remove unnecessary definition.
|
|
|
|
Because of inappropriate (but POSIX-mandated) behavior of rename,
|
|
`mv a b' would not remove `a' in some unusual cases. Work around
|
|
this by unlinking `a' when necessary.
|
|
|
|
* src/copy.c (same_file_ok): Add an output parameter.
|
|
Set it in the offending case.
|
|
(copy_internal): When necessary, unlink SRC_PATH and inform caller.
|
|
Reported by Ed Avis.
|
|
* tests/mv/hard-4: New test for the above.
|
|
* tests/mv/Makefile.am (TESTS): Add hard-4.
|
|
|
|
Clean up rules for automatically generated sources:
|
|
* src/Makefile.am (dircolors.h, wheel-size.h, wheel.h, false.c):
|
|
Make each generated file be read-only.
|
|
Add each file name to BUILT_SOURCES separately.
|
|
(MAINTAINERCLEANFILES): Set to $(BUILT_SOURCES).
|
|
|
|
Put LOCALEDIR macro definition in new file: localedir.h.
|
|
* src/Makefile.am (DEFS): Remove definition.
|
|
(localedir.h): New rule.
|
|
(BUILT_SOURCES, DISTCLEANFILES): Add localedir.h.
|
|
* src/system.h: Include "localedir.h".
|
|
|
|
2003-04-02 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 5.0.
|
|
|
|
* tests/misc/Makefile.am (TESTS): Add false.
|
|
|
|
* Makefile.maint (TMPDIR): Make sure it's defined.
|
|
(my-distcheck): Build in $(TMPDIR), not `.'.
|
|
|
|
* src/Makefile.am (false.c): Change all occurrences of
|
|
`(EXIT_SUCCESS)' to `(EXIT_FAILURE)' so that false exits
|
|
unsuccessfully also with --help. Reported by Paul Jarc,
|
|
* tests/misc/false: New test for the above.
|
|
|
|
2003-03-30 Jim Meyering <jim@meyering.net>
|
|
|
|
* NEWS: Note the location of older NEWS files.
|
|
|
|
* src/remove.c (is_empty_dir): Don't let a failing closedir
|
|
clobber errno. Spotted by Arnold Robbins.
|
|
|
|
* src/env.c: Fix typo in comment. From Arnold Robbins.
|
|
|
|
2003-03-29 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 4.5.12.
|
|
|
|
* README: Note to expect build problems for stat.c on Ultrix 4.3.
|
|
Note that there are some harmless test failures when running
|
|
`make check' as root on some systems.
|
|
|
|
2003-03-28 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/stty/row-col-1: Skip this test if stty can't get window size.
|
|
This happens when connecting to sparc-solaris5.7 via ssh from within
|
|
emacs. Reported by Karl Berry.
|
|
|
|
* tests/du/basic: Use seq, not `yes' to generate 4KB of data.
|
|
Otherwise, on systems (DJGPP) that emulate pipes using files,
|
|
this test would never complete, waiting for `yes' to terminate.
|
|
* tests/du/slink: As above, use seq, not `yes' to generate link target.
|
|
* tests/rm/hash: As above, use seq, not `yes' to generate dir name.
|
|
Reported by Rich Dawe.
|
|
|
|
2003-03-27 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/id.c: Remove Arnold Robbins' obsolete e-mail address
|
|
from `written by...' comment, at his request.
|
|
|
|
2003-03-24 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Fix buffer overrun problem reported by TAKAI Kousuke, along
|
|
with some other POSIX incompatibilities.
|
|
|
|
* src/printf.c (print_esc): Do not treat \x specially if
|
|
POSIXLY_CORRECT. Avoid buffer overrun if the format ends
|
|
in backslash. Treat incomplete escape sequences as strings
|
|
of characters, as POSIX requires.
|
|
(print_formatted): Allow multiple flags. Avoid buffer overrun
|
|
if the format is incomplete.
|
|
|
|
2003-03-24 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/misc/printf: Add tests for the above fixes and changes.
|
|
|
|
2003-03-26 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/copy.h (struct cp_options): Add a comment.
|
|
|
|
2003-03-23 Jim Meyering <jim@meyering.net>
|
|
|
|
* README: Describe problem with 64-bit mode on HPUX 11.x,
|
|
with patch for /usr/include/inttypes.h.
|
|
* TODO: Plan to add an autoconf test to work around the bug.
|
|
|
|
2003-03-22 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/stat.c: Don't include <sys/sysmacros.h>.
|
|
That is already done via system.h. Otherwise, the multiple
|
|
inclusion would evoke redefinition warnings from Cray's /bin/cc,
|
|
aka Cray Standard C Version 4.0.3 (057126) Mar 22 2003 22:02:28.
|
|
(human_fstype): Factor some directives `up', out of this function.
|
|
Cast away `const' to avoid error from Cray's /bin/cc.
|
|
|
|
2003-03-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* announce-gen (print_changelog_deltas): Ensure that a newline
|
|
precedes each row of `*'s.
|
|
|
|
2003-03-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 4.5.11.
|
|
|
|
* src/seq.c (valid_format): Also accept ` ' and `'' as valid
|
|
format flag characters.
|
|
Do not require that a field width be specified.
|
|
Do not fail when given a field width of `0'.
|
|
Reported by Dan Jacobson.
|
|
* tests/seq/basic: Add new tests for the above-fixed bug.
|
|
|
|
* src/Makefile.am (all-local): Append $(EXEEXT) to use of `su'
|
|
(install-root): Likewise.
|
|
(install-exec-local): Likewise.
|
|
Based on a patch from Richard Dawe.
|
|
|
|
2003-03-19 Jim Meyering <jim@meyering.net>
|
|
|
|
* man/Makefile.am (.x.1): Use $(LN_S) instead of 'ln -s',
|
|
because the DJGPP 2.03 port of 'ln -s' doesn't work.
|
|
Include $(EXEEXT) in program names.
|
|
Since $(LN_S) may degenerate to `cp -p', be careful
|
|
to invoke it from the destination directory.
|
|
Mostly from Richard Dawe.
|
|
* configure.ac: Use AC_PROG_LN_S.
|
|
|
|
* tests/mv/part-symlink: Unset CDPATH. Otherwise, having the
|
|
CDPATH shell variable set could cause this test to fail.
|
|
Reported by Karl Berry.
|
|
|
|
2003-03-18 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/fmt.c [struct Word] (paren, period, punct, final): Change the
|
|
type of each member from bool <MEMBER>:1 to unsigned int <MEMBER>:1.
|
|
AIX 5.1's xlc could not compile the former.
|
|
Patch by Petter Reinholdtsen. Also reported by Mike Jetzer.
|
|
|
|
2003-03-17 Richard Dawe <rich@phekda.freeserve.co.uk>
|
|
|
|
* configure.ac: Include $(EXEEXT) in OPTIONAL_BIN_PROGS'
|
|
program names, since automake only adds $(EXEEXT) to programs
|
|
in its *_PROGRAMS.
|
|
|
|
2003-03-16 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/remove.c (rm): Put two local variables in static storage,
|
|
so they can't be clobbered by the potential longjmp.
|
|
|
|
2003-03-15 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.cfg (gnu_rel_host): Fix code to match the comment
|
|
so that a version number with a two-digit component can still count
|
|
as an alpha release. Reported by Richard A Downing.
|
|
(gnu_rel_host): Define in terms of $(RELEASE_TYPE) instead.
|
|
|
|
2003-03-14 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/ansi2knr.c: Remove no-longer-used file.
|
|
* src/ansi2knr.1: Likewise.
|
|
|
|
* Makefile.maint (prev_version_file): Don't use ?= for this particular
|
|
assignment, since it causes trouble with old versions of GNU make
|
|
(e.g. 3.76.1). The other uses of `?=' are inoffensive. Details here.
|
|
http://mail.gnu.org/archive/html/bug-coreutils/2003-03/msg00028.html
|
|
Patch from Alexandre Duret-Lutz.
|
|
|
|
* Use patched automake-1.7.3. Regenerate Makefile.in files in
|
|
subdirectories so that each includes a definition of ACLOCAL_M4.
|
|
|
|
* announce-gen (main): Label the compressed source URLs.
|
|
|
|
* Version 4.5.10.
|
|
|
|
* tests/du/slink: Relax the test for the `local'ness of a file system,
|
|
so that now it works also for tmpfs.
|
|
|
|
* tests/du/hard-link: Transform output from first du, so that this
|
|
test doesn't fail on file systems like tmpfs that order directory
|
|
entries differently.
|
|
|
|
2003-03-13 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/du/8gb: Work around what appears to be an NFS failure that
|
|
would make this test fail on some systems.
|
|
|
|
2003-03-11 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/du/basic: Make the test file exactly 4k bytes long.
|
|
|
|
* src/split.c (longopts): Don't hard-code `2' here.
|
|
Instead, just specify `&verbose', and ...
|
|
(main): ... remove the `case 2:' block for --verbose.
|
|
|
|
* tests/du/basic: Make the test file larger than 64 bytes, so that
|
|
we don't immediately disqualify file systems (e.g., NetApp) on which
|
|
smaller files take up zero disk blocks. Reported by Vin Shelton.
|
|
|
|
2003-03-10 Jim Meyering <jim@meyering.net>
|
|
|
|
Don't segfault for a negative field width or precision in format string.
|
|
Note that this is just a stopgap fix. The longer term solution may
|
|
involve adapting bash's builtins/printf.def.
|
|
|
|
* src/printf.c: (UNSPECIFIED): Define.
|
|
(print_direc): Use the special value, UNSPECIFIED, to indicate
|
|
that field_width or precision has not been specified.
|
|
(print_formatted): Fail if field_width or precision is the
|
|
special value, UNSPECIFIED.
|
|
Reported by Oliver Kiddle <okiddle@yahoo.co.uk>
|
|
|
|
* src/sys2.h (INT_MIN): Define, if necessary.
|
|
* tests/misc/printf: Add a test for the above-fixed bug.
|
|
|
|
2003-03-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/remove.c (AD_stack_pop): Cast sizeof... to int before
|
|
changing its sign. This avoids a warning from gcc on 64-bit systems.
|
|
Reported by Bob Proulx.
|
|
(pop_dir): Reverse order of sign change and cast, to be consistent
|
|
with the above.
|
|
|
|
2003-03-08 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/Makefile.am (evar-check): Check for POSIXLY_CORRECT not as a
|
|
shell variable, but only in the environment. With /bin/sh->bash, the
|
|
shell variable is set to `y', and that would cause a spurious warning.
|
|
Reported by Bob Proulx.
|
|
|
|
* tests/Makefile.am (check-root): Remove touch/fifo.
|
|
It doesn't appear to have to be run as root.
|
|
|
|
* tests/rm/fail-2eperm: Rather than simply using the first non-root
|
|
user name, make sure that the selected user name has a usable shell.
|
|
Reported by Paul Jarc.
|
|
|
|
Before, when using shred on a device, one had to specify --exact,
|
|
or be careful to choose a size that would not be rounded up and
|
|
exceed the maximum value; that could result in a failure of
|
|
the final write.
|
|
* src/shred.c (do_wipefd): --exact is now the default for non-regular
|
|
files. Suggestion from Ben Elliston.
|
|
(usage): Say it.
|
|
|
|
* tests/misc/tty-eof: Require at least version 1.11 of Expect.pm.
|
|
Old versions of Expect.pm (e.g., 1.07) lack the log_user function.
|
|
Patch by Bob Proulx.
|
|
|
|
* src/Makefile.am (check-misc): Check for use of `defined' in
|
|
#define directives.
|
|
Change to $(srcdir) before running grep.
|
|
|
|
* src/sleep.c: Remove now-unused #include and #define directives.
|
|
|
|
* src/du.c (process_file): If a file's size is not being counted
|
|
e.g., because it's a hard link to a file we've already counted,
|
|
then don't print a line for it.
|
|
|
|
* tests/du/hard-link: New test for the above-fixed bug.
|
|
* tests/du/Makefile.am (TESTS): Add hard-link.
|
|
|
|
`du -S' didn't work
|
|
* src/du.c: Revert most of the `reorganization' change of 2003-02-20,
|
|
and make the two-array approach work.
|
|
|
|
* tests/du/basic: Correct/add tests for the above fix.
|
|
Set LC_ALL, etc., now that we use sort.
|
|
Check the block/size of a small file, too.
|
|
Correct expected results for simple dir1/dir2/file case.
|
|
Add another test of du -S.
|
|
|
|
2003-03-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
|
|
|
Avoid build failure with gcc on hppa1.1-hp-hpux10.20 (see GCC PR
|
|
middle-end/9986). As one of GCC's optimizations, it transforms a
|
|
fputs_unlocked call to a fputc_unlocked call when the string is
|
|
one character long. However, hpux doesn't have fputc_unlocked.
|
|
|
|
* expr.c (usage): Use putchar, not fputs, to output a single character.
|
|
* ls.c (dired_dump_obstack): Likewise.
|
|
* ptx.c (output_one_tex_line, output_one_dumb_line): Likewise.
|
|
* stat.c (print_it): Likewise.
|
|
|
|
2003-03-07 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/cp.c: Remove everything associated with mmap-stack.c.
|
|
This reverts the two changes of 2003-02-21.
|
|
* src/du.c: Remove everything associated with mmap-stack.c.
|
|
This reverts the change of 2003-02-19.
|
|
|
|
2003-03-06 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/cp/same-file: Unset CDPATH. Otherwise, having the
|
|
CDPATH shell variable set could cause this test to fail.
|
|
Reported by Karl Berry.
|
|
|
|
2003-03-05 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 4.5.9.
|
|
|
|
* src/printf.c (print_esc): Remove pointless comparison of unsigned
|
|
integer with zero, to avoid a warning from Intel's ecc.
|
|
Reported by Nelson Beebe.
|
|
|
|
* src/du.c (process_file): Sizes must all be of type uintmax_t.
|
|
Otherwise, for files or totals that are too big, numbers would
|
|
be truncated. Patch mostly by Michael Stone.
|
|
Reported by Ingo Saitz as Debian bug #183210.
|
|
|
|
* tests/du/8gb: New test for the above-fixed bug.
|
|
* tests/du/Makefile.am (TESTS): Add 8gb.
|
|
|
|
* src/du.c (MAX_N_DESCRIPTORS): Use 3 * UTILS_OPEN_MAX / 4
|
|
rather than UTILS_OPEN_MAX - 10.
|
|
|
|
2003-03-04 Jim Meyering <jim@meyering.net>
|
|
|
|
* README: Refer new feature discussion to bug-coreutils@gnu.org,
|
|
rather than bug-gnu-utils, now that the former is better known.
|
|
Suggestion from Göran Uddeborg.
|
|
|
|
* src/stat.c (usage): Capitalize consistently.
|
|
Reported by Göran Uddeborg.
|
|
|
|
* Makefile.maint (rel-files): Include $(signatures), so that
|
|
those files are also copied into $(release_archive_dir).
|
|
|
|
* src/df.c (find_mount_point): Call error here, now that restore_cwd
|
|
no longer does it.
|
|
* src/remove.c (AD_pop_and_chdir): Likewise.
|
|
|
|
* tests/Makefile.am (check-root): Add fail-2eperm.
|
|
|
|
2003-03-03 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/remove.c (remove_cwd_entries): Include the full filename of
|
|
the offending file, not just the basename.
|
|
|
|
* tests/misc/tty-eof: Set $ME properly.
|
|
|
|
* Makefile.maint (THIS_VERSION_REGEXP, PREV_VERSION_REGEXP):
|
|
Remove now-unused variables.
|
|
(tag-prev-version, prev-cvs-tag): Likewise.
|
|
|
|
* src/remove.c (remove_cwd_entries) [!ROOT_CAN_UNLINK_DIRS]: Give an
|
|
accurate diagnostic when failing to remove a file owned by some other
|
|
user. Reported by Ivo Timmermans via Michael Stone.
|
|
This fixes Debian bug# 178471.
|
|
|
|
* tests/rm/Makefile.am (TESTS): Add fail-2eperm.
|
|
* tests/rm/fail-2eperm: New test, for the above-fixed bug.
|
|
Based on a report from Ivo Timmermans.
|
|
|
|
2003-03-02 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/copy.c (copy_internal) [un_backup]: When recovering from a
|
|
failure to create a hard link, do not remove the entry associating
|
|
the source dev/ino with the destination file name.
|
|
* tests/mv/Makefile.am (TESTS): Add hard-3.
|
|
* tests/mv/hard-3: New test, for the above-fixed bug.
|
|
Inspired by a report from Iida Yosiaki.
|
|
|
|
2003-03-01 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/df.c (print_header): Don't embed spaces in a separate `Type'
|
|
header string. Instead, put `Filesystem' and `Type' headers in the
|
|
same string, so translators can use horizontal space as needed.
|
|
Reported by Jean Charles Delepine.
|
|
|
|
2003-02-28 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/copy.c (copy_internal): When link fails because of an
|
|
existing destination file, unlink that file and try again.
|
|
Reported by Iida Yosiaki.
|
|
|
|
* tests/mv/Makefile.am (TESTS): Add hard-2.
|
|
* tests/mv/hard-2: New test for the above-fixed bug.
|
|
Based on a test case from Iida Yosiaki.
|
|
|
|
2003-02-26 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/du/basic: Don't test du's -b option here. Directory byte
|
|
counts are smaller (512 rather than 4096) on at least OSF/1 5.1
|
|
and IBM AIX 4.2. Reported by Nelson Beebe.
|
|
|
|
2003-02-25 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (announcement): Now that ChangeLog entries
|
|
are output by announce-gen, don't do it here.
|
|
* announce-gen (print_changelog_deltas): New function.
|
|
(main): Use it.
|
|
|
|
2003-02-22 Jim Meyering <jim@meyering.net>
|
|
|
|
* announce-gen: New option: --release-type=TYPE
|
|
* Makefile.maint (beta, major): New targets. Remove `release'.
|
|
Put them all together on a line.
|
|
Pass the release type (via RELEASE_TYPE envvar) to the MAKE
|
|
invocation of `announcement'.
|
|
(announcement): Invoke announce-gen with --release-type=$RELEASE_TYPE.
|
|
|
|
* announce-gen: New option: --news=NEWS_FILE.
|
|
Extract NEWS entries here, not via rules in Makefile.maint.
|
|
* Makefile.maint (announcement): Now that NEWS entries are
|
|
extracted by announce-gen, don't do it here.
|
|
(news-r1, news-r2): Remove now-unused definitions.
|
|
|
|
2003-02-21 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 4.5.8.
|
|
|
|
Merge in changes from autoconf's version of this file.
|
|
* Makefile.maint (www-gnu): Define.
|
|
(standards.texi-url_prefix): Use $(www-gnu).
|
|
(make-stds.texi-url_prefix): Likewise.
|
|
|
|
* src/cp.c: Include "mmap-stack.h".
|
|
(main): Invoke `run' through a macro that (when possible) runs it
|
|
with a large, mmap'd stack.
|
|
|
|
* src/cp.c (run): New function, preparing for the above.
|
|
Exit from this function, not from main
|
|
(main): Call run.
|
|
|
|
* src/du.c: New option: --apparent-size.
|
|
(enum) [APPARENT_SIZE_OPTION]: New member.
|
|
(long_options): Add it.
|
|
(usage): Describe it.
|
|
(main): Handle it.
|
|
['b']: Set apparent_size.
|
|
David Eisner reported that the behavior of --bytes had changed.
|
|
Paul Eggert proposed the use of a new option, --apparent-size.
|
|
|
|
* src/du.c (apparent_size): New global.
|
|
(print_only_size): Reflect the fact that we're printing byte counts,
|
|
not ST_NBLOCKSIZE-byte-block counts.
|
|
(print_size): Call print_only_size rather than duplicating its code.
|
|
(process_file): Accumulate byte counts, rather than block counts.
|
|
|
|
* src/du.c (process_file): Always reset size_to_propagate_to_parent
|
|
for --separate-dirs (-S).
|
|
|
|
2003-02-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* Use automake-1.7.3. Regenerate dependent files.
|
|
|
|
* src/stat.c (print_stat): New format: %B (to print ST_NBLOCKSIZE).
|
|
This makes %b (number of ST_NBLOCKSIZE-byte blocks) more useful.
|
|
(usage) [%B]: Describe it.
|
|
[%b]: Refer to %B.
|
|
|
|
* src/du.c (process_file): Reorganize the code to use only
|
|
one `sum' array, and change how -S works back to the way it was
|
|
before 2003-01-31. Patch by Bruno Haible.
|
|
|
|
* tests/du/basic: New test.
|
|
* tests/du/Makefile.am (TESTS): Add basic.
|
|
|
|
* tests/envvar-check: Add checks for the following:
|
|
BLOCK_SIZE, DU_BLOCK_SIZE, DF_BLOCK_SIZE, LS_BLOCK_SIZE.
|
|
|
|
* tests/Makefile.am: Rename phony target envvar-check to evar-check
|
|
so as not to conflict with the distributed file by the same name.
|
|
|
|
* src/du.c (process_file): Set info->skip before any possible return.
|
|
|
|
Report correct usage for directories, not 0.
|
|
* src/du.c (process_file): Return for `file_type == FTW_DPRE'
|
|
_before_ recording the dev/ino of a directory.
|
|
Reported by Bruno Haible.
|
|
|
|
Now, df always displays the device file name corresponding to the
|
|
listed mount point under `Filesystem'. Before, for an unmounted
|
|
block- or character-special file argument, it would display the
|
|
command-line argument instead.
|
|
* src/df.c (show_disk): Return a value indicating whether
|
|
there was a match. Don't try to find a mount point here.
|
|
(show_entry): If show_disk doesn't find a match, call show_point.
|
|
|
|
2003-02-19 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/du.c: Include "mmap-stack.h".
|
|
(du_files): Add prototype with ATTRIBUTE_NORETURN.
|
|
Exit from this function, not from...
|
|
(main): ...here.
|
|
Instead, if possible, invoke du_files through a macro that
|
|
runs it with a large, mmap'd stack.
|
|
|
|
* src/join.c (usage): Change wording in --help output:
|
|
use FILENUM instead of `SIDE' and say what FILENUM means.
|
|
Reported by Bernhard Gabler.
|
|
|
|
* src/df.c (print_header): Rather than using a hard-coded literal
|
|
string of spaces matching the length of the English `...Type' header,
|
|
output the right number of spaces to match the selected translation.
|
|
Reported by Yann Dirson and Jean Charles Delepine as Debian bug 131113.
|
|
|
|
* src/split.c (bytes_split): Remove unnecessary `else' after break.
|
|
(lines_split): Likewise. and correct misleading indentation.
|
|
|
|
* src/split.c: Include "full-read.h".
|
|
(bytes_split, lines_split, line_bytes_split): Use full_read,
|
|
not safe_read. The way split was using the latter, a short read
|
|
could cause split to terminate before EOF.
|
|
|
|
* tests/misc/tty-eof: Test all programs that can read stdin,
|
|
requiring no arguments and that write to standard output.
|
|
|
|
* tests/misc/tty-eof: New file. Renamed from ...
|
|
* tests/misc/cat-tty-eof: Remove file. Rename to tty-eof.
|
|
* tests/misc/Makefile.am (TESTS): Reflect renaming.
|
|
|
|
2003-02-18 Jim Meyering <jim@meyering.net>
|
|
|
|
cksum would perform an extra read after encountering EOF
|
|
* src/cksum.c (cksum): Exit the loop upon EOF, too.
|
|
Patch by Michael Bacarella.
|
|
|
|
Test for the bug fixed today in cksum, md5sum, and sha1sum.
|
|
* tests/misc/cat-tty-eof: Generalize, clean-up, and test for
|
|
cat, cksum, md5sum, and sha1sum all in the same loop.
|
|
|
|
2003-02-14 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/remove.c: Include "euidaccess.h".
|
|
Remove declaration of euidaccess.
|
|
|
|
2003-02-12 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/pathchk.c (portable_chars_only): Remove unnecessary `const'
|
|
in cast to avoid warning from icc. Reported by Alexandre Duret-Lutz.
|
|
|
|
2003-02-10 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/test.c: Don't include group-member.h.
|
|
Include euidaccess.h.
|
|
(eaccess): Rewrite function to set the real uid and gid temporarily
|
|
to the effective uid and gid, then invoke 'access', and then set the
|
|
real uid and gid back. On systems that lack setreuid or setregid,
|
|
fall back on the kludges in euidaccess. Before, it would not work
|
|
for e.g., files with ACLs, files that were marked immutable,
|
|
or on file systems mounted read-only. Nelson Beebe raised the issue.
|
|
Paul Eggert suggested the new implementation.
|
|
|
|
2003-02-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/test.c (test_stat): Remove function. It's job is done (only
|
|
when necessary) by the wrapper in lib/stat.c. Adjust all uses.
|
|
|
|
2003-02-08 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 4.5.7.
|
|
|
|
* tests/mv/part-symlink: Don't assume that the file owner username
|
|
length is less than 9 in ls output: instead, omit that field
|
|
altogether. Reported by, and suggested fix from, Ferdinand.
|
|
|
|
* tests/du/restore-wd: New test for just-fixed bug in ftw.c.
|
|
* tests/du/Makefile.am (TESTS): Add restore-wd.
|
|
|
|
* src/rm.c: Correct now-invalid comment about cycle-detection.
|
|
|
|
2003-02-06 Jim Meyering <jim@meyering.net>
|
|
|
|
* NEWS: Add entries from old/*/NEWS
|
|
from fileutils-4.1 through 4.1.11 and
|
|
from sh-utils-2.0 through 2.0.15. Suggestion from Karl Berry.
|
|
|
|
* Version 4.5.6.
|
|
|
|
* src/du.c (process_file): Don't return early for excluded files
|
|
or for files whose dev/inode we've already seen.
|
|
|
|
2003-02-05 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/du/exclude: New file.
|
|
* tests/du/Makefile.am (TESTS): Add exclude.
|
|
|
|
2003-02-04 Dmitry V. Levin <ldv@altlinux.org>
|
|
|
|
* src/who.c (print_boottime, print_deadprocs, print_runlevel):
|
|
Fix memory allocation arithmetic.
|
|
|
|
2003-02-04 Jim Meyering <jim@meyering.net>
|
|
|
|
`df /dev/block-or-char-device-file--not-mounted' now reports
|
|
the name of the file system on which the file resides, usually `/'.
|
|
Before, it would leave the `Mounted on' field blank.
|
|
* src/df.c (show_disk): Move function to precede find_mount_point.
|
|
(show_disk): Add parameter: STATP.
|
|
If we don't find a matching device name, then resort to calling
|
|
find_mount_point. Reported by Bob Proulx.
|
|
|
|
2003-02-03 Andreas Schwab <schwab@suse.de>
|
|
|
|
* tests/rm/cycle: Require non-root.
|
|
* tests/rm/isatty: Likewise.
|
|
|
|
2003-02-02 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 4.5.5.
|
|
|
|
* man/Makefile.am (check-x-vs-1): Use @PATH_SEPARATOR@, not `:'.
|
|
|
|
Ensure that there are no offending uses of `:'.
|
|
* Makefile.maint (makefile_path_separator_check): New rule.
|
|
(local-check): Add it to the list.
|
|
|
|
2003-02-01 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/du.c (MAX_N_DESCRIPTORS): Define.
|
|
|
|
* src/stat.c (G_fail): New global.
|
|
(human_time): Diagnose failed localtime, not failed nstrftime.
|
|
(main): Fail if G_fail is set.
|
|
|
|
2003-01-31 Richard Dawe <rich@phekda.freeserve.co.uk>
|
|
|
|
* tests/basename/Makefile.am: Use @PATH_SEPARATOR@ instead of
|
|
hard-coding the path-separator. Also double-quote the new PATH,
|
|
to avoid problems when the path-separator is a semi-colon or when
|
|
`pwd` contains e.g. a space.
|
|
* tests/chgrp/Makefile.am: Likewise.
|
|
* tests/chmod/Makefile.am: Likewise.
|
|
* tests/chown/Makefile.am: Likewise.
|
|
* tests/cp/Makefile.am: Likewise.
|
|
* tests/dd/Makefile.am: Likewise.
|
|
* tests/dircolors/Makefile.am: Likewise.
|
|
* tests/du/Makefile.am: Likewise.
|
|
* tests/expr/Makefile.am: Likewise.
|
|
* tests/factor/Makefile.am: Likewise.
|
|
* tests/fmt/Makefile.am: Likewise.
|
|
* tests/install/Makefile.am: Likewise.
|
|
* tests/ln/Makefile.am: Likewise.
|
|
* tests/ls/Makefile.am: Likewise.
|
|
* tests/ls-2/Makefile.am: Likewise.
|
|
* tests/md5sum/Makefile.am: Likewise.
|
|
* tests/misc/Makefile.am: Likewise.
|
|
* tests/mkdir/Makefile.am: Likewise.
|
|
* tests/mv/Makefile.am: Likewise.
|
|
* tests/od/Makefile.am: Likewise.
|
|
* tests/rm/Makefile.am: Likewise.
|
|
* tests/rmdir/Makefile.am: Likewise.
|
|
* tests/seq/Makefile.am: Likewise.
|
|
* tests/sha1sum/Makefile.am: Likewise.
|
|
* tests/shred/Makefile.am: Likewise.
|
|
* tests/stty/Makefile.am: Likewise.
|
|
* tests/sum/Makefile.am: Likewise.
|
|
* tests/tail-2/Makefile.am: Likewise.
|
|
* tests/touch/Makefile.am: Likewise.
|
|
* tests/tsort/Makefile.am: Likewise.
|
|
* tests/unexpand/Makefile.am: Likewise.
|
|
|
|
2003-01-31 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/stat.c: Include "file-type.h"
|
|
(print_human_type): Remove function.
|
|
(human_access): Rename from print_human_access. Return a string.
|
|
(human_time): Rename from print_human_time. Return a string.
|
|
(print_stat): Arrange so that field width and an alignment specifier
|
|
are honored for the %A, %F, %x, %y, and %z formats.
|
|
[%F]: Use file_type; this gives slightly different file type strings,
|
|
e.g., `directory' instead of `Directory' and `regular file' or
|
|
`regular empty file' instead of `Regular file'.
|
|
Prompted by a report from Richard Dawe that the uses of
|
|
S_IFSOCK and S_IFIFO in print_human_time were not portable
|
|
to systems using e.g., DJGPP.
|
|
|
|
2003-01-31 Richard Dawe <rich@phekda.freeserve.co.uk>
|
|
|
|
* src/stat.c (print_stat): Use S_ISLNK rather than an explicit
|
|
test using S_IFMT and S_IFLNK. S_IFLNK may not be defined.
|
|
|
|
2003-01-31 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/du.c (main): Upon processing an invalid option or an invalid
|
|
--exclude-from or --max-depth option argument, don't exit right away,
|
|
in case there are others. Rather record the failure and exit after
|
|
processing other options.
|
|
|
|
* GNUmakefile (TAR_OPTIONS): Set and export, in order to make
|
|
tar archive easier to reproduce.
|
|
|
|
Rewrite to perform directory traversal using nftw.
|
|
|
|
* src/du.c: Include "dirname.h", "ftw.h", and "quotearg.h".
|
|
(AUTHORS): Add self.
|
|
(opt_one_file_system): Move global into `main'.
|
|
(path, xstat, exit_status): Remove declarations.
|
|
(arg_length, suffix_length): New globals.
|
|
(G_fail): New global, sort of like the old `exit_status'.
|
|
(IS_FTW_DIR_TYPE): Define.
|
|
(print_only_size): New function.
|
|
(process_file): New function.
|
|
(str_init, ensure_space, str_copyc, str_concatc): Remove functions.
|
|
(str_trunc, pop_dir, count_entry): Likewise.
|
|
(du_files): Rewrite to use nftw.
|
|
|
|
2003-01-30 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/du/trailing-slash: Ensure that du/ftw follows a command-line
|
|
symlink-to-directory with -L, even without the trailing slash.
|
|
|
|
2003-01-27 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/Makefile.am (check-misc): Check for st_blocks, too.
|
|
|
|
* src/stat.c (print_stat): Use ST_NBLOCKS rather than `->st_blocks'.
|
|
Reported by Richard Dawe.
|
|
|
|
2003-01-27 Andreas Schwab <schwab@suse.de>
|
|
|
|
* src/ls.c (quote_name): Add fourth parameter, width, into which to
|
|
store the screen columns, and return the number of bytes instead.
|
|
(print_dir): Pass NULL as fourth parameter of quote_name.
|
|
(print_name_with_quoting): Likewise.
|
|
(length_of_file_name_and_frills): Get the width from the fourth
|
|
parameter of quote_name instead of return value.
|
|
|
|
2003-01-27 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/ls.c (decode_switches): If `dired' is set without
|
|
`format == long_format', then silently reset dired. This doesn't
|
|
change the behavior of ls (all prior uses of dired were protected
|
|
by `&& format == long_format'), and lets us...
|
|
(DIRED_INDENT): ... remove the `format == long_format' conjunct.
|
|
(PUSH_CURRENT_DIRED_POS): Likewise.
|
|
(main): Likewise.
|
|
|
|
2003-01-22 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/du/no-x: New test, for functionality added to lib/ftw.c.
|
|
* tests/du/Makefile.am (TESTS): Add no-x.
|
|
|
|
2003-01-21 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/remove.c (remove_entry) [ROOT_CAN_UNLINK_DIRS
|
|
&& HAVE_STRUCT_DIRENT_D_TYPE]: If a file has d_type == DT_UNKNOWN
|
|
it may still be a directory -- or not (e.g., with FreeBSD on an
|
|
NFS-mounted file system), so resort to calling lstat to find out.
|
|
Based on a patch by Michael van Elst.
|
|
|
|
* tests/cp/same-file: Don't assume that the file owner username
|
|
length is less than 9 in ls output: instead, omit that field
|
|
altogether. Reported by, and suggested fix from, Ferdinand.
|
|
|
|
2003-01-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/date/Test.pm (wide-fmt): New test to demonstrate that
|
|
large format widths no longer cause strftime to infloop.
|
|
|
|
* Makefile.maint (mail_gpg_sign_cookie): Remove now-unused definition.
|
|
|
|
2003-01-19 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/readlink.c: Include "canonicalize.h".
|
|
|
|
2003-01-18 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/ls.c (Dereference_symlink) [DEREF_COMMAND_LINE_SYMLINK_TO_DIR]:
|
|
New member.
|
|
(enum) [DEREFERENCE_COMMAND_LINE_SYMLINK_TO_DIR_OPTION]: New member.
|
|
(long_options): Add option --dereference-command-line-symlink-to-dir.
|
|
(main): Make DEREF_COMMAND_LINE_SYMLINK_TO_DIR be the default,
|
|
rather than DEREF_COMMAND_LINE_ARGUMENTS, when none of the
|
|
-d, -F, -l options is specified.
|
|
(decode_switches): Handle --dereference-command-line-symlink-to-dir.
|
|
(gobble_file): Honor DEREF_COMMAND_LINE_SYMLINK_TO_DIR.
|
|
Change --dereference-command-line (-H) to dereference *all*
|
|
command line arguments, including broken symlinks.
|
|
|
|
2003-01-15 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Change ls -H back to the way it was yesterday, since this is
|
|
compatible with FreeBSD and the POSIX spec is confusing
|
|
and somewhat contradictory.
|
|
|
|
* src/ls.c (DEREF_COMMAND_LINE_ARGUMENTS): Change name back
|
|
from DEREF_COMMAND_LINE_SYMLINK_TO_DIR, updating all uses.
|
|
(long_options): Change the long option name back.
|
|
(usage): Change the usage back.
|
|
(gobble_file): When -H is specified, dereference a top-level
|
|
arg even if it points to a non-directory.
|
|
|
|
2003-01-15 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/ls.c (gobble_file): Fall back on using lstat when required:
|
|
when --dereference (-L) is not specified, and
|
|
- when operating on a dangling symlink
|
|
- when operating on command-line-symlink-to-directories
|
|
This fixes numerous problems. Here are examples:
|
|
- `ls dangling-symlink' would fail with `no such file...'
|
|
Now it prints `dangling-symlink'.
|
|
- `ls -i symlink' would mistakenly print the inode of the referent.
|
|
Now it prints the inode of the symlink. Likewise for --size (-s).
|
|
Based on a patch from Michael Stone.
|
|
Reported by Deepak Goel as Debian bug #173793.
|
|
|
|
Rename ls's --dereference-command-line (-H)
|
|
option to --dereference-command-line-symlink-to-dir.
|
|
* src/ls.c [enum Dereference_symlink]
|
|
(DEREF_COMMAND_LINE_SYMLINK_TO_DIR): Rename from
|
|
DEREF_COMMAND_LINE_ARGUMENTS. Update all uses.
|
|
(long_options): Rename the long option.
|
|
(usage): Say that --dereference-... changes how ls treats
|
|
only symlinks to directories specified on the command line.
|
|
|
|
2003-01-14 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/ls/dangle: New file/test, for the above fix.
|
|
* tests/ls/inode: Another new file/test, for the above fix.
|
|
* tests/ls/Makefile.am (TESTS): Add dangle and inode.
|
|
|
|
* src/ls.c (gobble_file): Fix a bug introduced in 4.5.4 that made it
|
|
so that ls --color would no longer highlight the names of files with
|
|
the execute bit set when not specified on the command line.
|
|
Patch by Michael Stone. Reported by Stephen Depooter as
|
|
Debian bug 175135.
|
|
|
|
* tests/ls-2/tests (color-exe): New test, for the above fix.
|
|
|
|
2003-01-13 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/shred/exact: Also test for just fixed bug with --zero.
|
|
|
|
* src/shred.c (long_opts): --zero does not require an argument.
|
|
Patch by Michael Stone. Reported by Roland Turner as Debian bug 172019.
|
|
|
|
2003-01-12 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (cvs-update): Skip any file with local modifications.
|
|
|
|
* src/unexpand.c (usage): Document --first-only and mention that
|
|
--tabs=N (-t) enables --all (-a). Reported by wiregauze@yahoo.com.
|
|
|
|
2002-12-01 Dmitry V. Levin <ldv@altlinux.org>
|
|
|
|
* src/df.c: Include "canonicalize.h".
|
|
Use canonicalize_file_name unconditionally.
|
|
|
|
2003-01-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* README: Add readlink.
|
|
|
|
2002-11-30 Dmitry V. Levin <ldv@altlinux.org>
|
|
|
|
* src/df.c: Include "xgetcwd.h".
|
|
* src/pwd.c: Likewise.
|
|
|
|
2002-11-30 Dmitry V. Levin <ldv@altlinux.org>
|
|
|
|
* src/shred.c: Remove declaration of xstrdup.
|
|
We already get it via xalloc.h which is included via system.h.
|
|
|
|
2002-08-27 Dmitry V. Levin <ldv@altlinux.org>
|
|
|
|
New program: readlink.
|
|
|
|
* src/Makefile.am (bin_PROGRAMS): Add readlink.
|
|
* src/readlink.c: New file.
|
|
|
|
* man/readlink.x: New file.
|
|
* man/Makefile.am (dist_man_MANS): Add readlink.1.
|
|
(readlink.1): New rule.
|
|
|
|
2003-01-09 Jim Meyering <jim@meyering.net>
|
|
|
|
When selecting ranges of byte offsets (as opposed to ranges of fields)
|
|
and when --output-delimiter=STRING is specified, output STRING between
|
|
ranges of selected bytes.
|
|
* src/cut.c (RANGE_START_SENTINEL): Define.
|
|
(output_delimiter_specified): New global.
|
|
(print_kth): Add parameter. Adjust all callers.
|
|
(set_fields): Mark each range-start index with RANGE_START_SENTINEL.
|
|
(cut_bytes): When requested, output STRING between ranges of
|
|
selected bytes.
|
|
(main): Make a diagnostic a little clearer.
|
|
Based on a patch from Jan Nieuwenhuizen.
|
|
|
|
* tests/cut/Test.pm: New tests for the above.
|
|
|
|
* src/cut.c (set_fields): Make code agree with comment:
|
|
Don't merge abutting ranges like 4- and 2-3. This makes no
|
|
difference currently, but is required to support an upcoming change.
|
|
|
|
2003-01-07 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/cut.c (set_fields): Fix typo in comment.
|
|
|
|
* tests/touch/not-owner: New test, mostly extracted from fail-diag.
|
|
* tests/touch/Makefile.am (TESTS): Add not-owner.
|
|
* tests/touch/fail-diag: Remove the test for non-owner diagnostic.
|
|
Now, this tests only the nonexistent-directory diagnostic.
|
|
Suggestion from Michael Stone.
|
|
|
|
* tests/touch/fail-diag: Fix typo: s/ld/ls/.
|
|
|
|
2003-01-04 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/copy.h: Remove use of PARAMS.
|
|
* src/remove.h: Likewise.
|
|
* src/chown-core.h: Likewise.
|
|
|
|
rm could be tricked into mistakenly reporting a cycle.
|
|
* src/remove.c: [cycle_check_state]: New global.
|
|
(remove_cwd_entries): Adapt to new semantics of cycle_check.
|
|
(rm): Call cycle_check_init and cycle_check_free for each file.
|
|
* tests/rm/cycle (rm): New test, for the above fix.
|
|
* tests/rm/Makefile.am (TESTS): Add cycle.
|
|
|
|
When rm detects a cycle, don't abort the entire command,
|
|
but rather just the affected command line argument.
|
|
* src/remove.c: Include <setjmp.h>
|
|
(struct dirstack_state) [current_arg_jumpbuf]: New member.
|
|
(remove_cwd_entries): Call longjmp if we detect a cycle.
|
|
(rm): Call setjmp here.
|
|
|
|
* src/remove.c (cycle_check, is_power_of_two): Remove functions.
|
|
Instead, include cycle-check.h and use it.
|
|
|
|
* src/remove.h (struct dev_ino): Remove declaration.
|
|
|
|
* src/remove.c (remove_cwd_entries): Fix typos in comment.
|
|
|
|
Don't include trailing /. in diagnostics about directories.
|
|
* src/remove.c (full_filename_): When FILENAME is just `.'
|
|
and there is a nonempty directory-name part, don't append `/.'.
|
|
* tests/rm/unread2: Remove trailing /. from diagnostic.
|
|
* tests/rm/rm2: Likewise.
|
|
|
|
* src/remove.c (struct dirstack_state): Define.
|
|
To be used in place of these file-scoped globals ...
|
|
(dir_stack, len_stack, Active_dir): Remove globals.
|
|
(ds_init, ds_free): New functions.
|
|
(full_filename): Define.
|
|
(full_filename_): Rename from full_filename.
|
|
|
|
Begin to make AD_* functions more generic.
|
|
* src/remove.c (AD_push_initial): Don't set status to RM_OK here.
|
|
(AD_push): Likewise.
|
|
(AD_INIT_OTHER_MEMBERS): Define.
|
|
(remove_dir): Define the `status' member manually after each
|
|
call to AD_push or AD_push_initial.
|
|
|
|
* src/Makefile.am (check-misc): New rule, to ensure that no more
|
|
S_IS* macro definitions sneak into the code.
|
|
(check): Depend on check-misc.
|
|
|
|
* src/remove.c [S_ISLNK]: Don't define. It's already defined in sys2.h.
|
|
* src/du.c (count_entry) [S_ISLNK]: Don't define.
|
|
* src/shred.c [S_ISLNK, S_ISFIFO, S_ISSOCK]: Don't define.
|
|
|
|
2003-01-03 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/true.c: Add copyright.
|
|
(AUTHORS): I suppose I've written it.
|
|
|
|
* src/Makefile.am (false.c): Make the generated file be read-only.
|
|
|
|
2003-01-04 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/ls.c: Include "dev-ino.h".
|
|
[struct dev_ino]: Remove declaration.
|
|
|
|
2003-01-02 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/cp.c (do_copy): Tweak diagnostic to be consistent with the one
|
|
from mv: s/missing file arguments/missing file argument/.
|
|
With --target-directory=DIR, cp and mv work with a single file argument.
|
|
Reported by Karl Berry.
|
|
|
|
* tests/rm/isatty: Enable this test.
|
|
|
|
2002-12-31 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/remove.c (AD_push_initial): Don't set status to RM_OK here.
|
|
(AD_push): Likewise.
|
|
(AD_INIT_OTHER_MEMBERS): Define.
|
|
(remove_dir): Define the `status' member manually after each
|
|
call to AD_push or AD_push_initial.
|
|
|
|
* src/ls.c [struct dev_ino]: Remove definition.
|
|
Include "dev-ino.h" instead.
|
|
|
|
2002-12-28 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/du/Makefile.am (TESTS): Add no-deref.
|
|
* tests/du/no-deref: New script.
|
|
|
|
2002-12-23 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/remove.c (remove_cwd_entries): Fix typo in comment.
|
|
|
|
2002-12-21 Jim Meyering <jim@meyering.net>
|
|
|
|
* announce-gen: Generate MML-formatted announcement.
|
|
This makes it a *lot* harder to send stale MD5/SHA1 signatures.
|
|
|
|
2002-12-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/touch.c (touch): Change the wording of a diagnostic so
|
|
that it makes sense both when the file exists and when it doesn't.
|
|
Suggestion from Michael Stone.
|
|
|
|
2002-12-18 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/stty.c (valid_options): Declare to be static.
|
|
|
|
2002-12-15 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.cfg: Remove rules related to generating m4/jm-glibc-io.m4.
|
|
|
|
* src/chmod.c, src/copy.c, src/copy.h, src/cp-hash.h, src/csplit.c:
|
|
* src/date.c, src/expr.c, src/fmt.c, src/id.c, src/install.c:
|
|
* src/ls.c, src/od.c, src/pathchk.c, src/pr.c, src/remove.c:
|
|
* src/shred.c, src/sort.c, src/stat.c, src/stty.c, src/sum.c:
|
|
* src/tee.c, src/test.c: Remove all uses of `PARAMS'.
|
|
|
|
* src/remove.c (PARAMS): Remove definition.
|
|
* src/sys2.h: Likewise.
|
|
|
|
* src/ls.c, src/stat.c, src/date.c: Remove declaration of nstrftime.
|
|
Include strftime.h instead.
|
|
|
|
2002-12-14 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.cfg ($(url_dir_list)): Use .../coreutils, not .../fetish.
|
|
|
|
* src/system.h [! HAVE_DECL_MEMRCHR]: Declare memrchr.
|
|
This is necessary at least for Irix6.5 when using c89.
|
|
Reported by Nelson Beebe.
|
|
|
|
* tests/misc/Makefile.am (TESTS): Add cat-tty-eof.
|
|
|
|
* tests/misc/cat-tty-eof: New test.
|
|
|
|
* src/mknod.c (usage): Specify how major and minor mode numbers
|
|
are interpreted. Report forwarded by Kristin E Thomas.
|
|
* src/mknod.c: Remove now-redundant usage-specifying comment.
|
|
|
|
2002-12-13 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 4.5.4.
|
|
|
|
* tests/du/trailing-slash: Allow for a directory of size `0'.
|
|
That happens at least on file systems of type tmpfs on linux-2.4.18.
|
|
|
|
* announce-gen: New script to begin replacing the commands
|
|
associated with the rule here...
|
|
* Makefile.maint (announcement): Invoke announce-gen.
|
|
* Makefile.am (EXTRA_DIST): Add announce-gen.
|
|
|
|
* tests/cp/preserve-2: New file/test, for latest fix.
|
|
* tests/cp/Makefile.am (TESTS): Add preserve-2.
|
|
|
|
2002-12-11 TAKAI Kousuke <takai@vlsi.kuee.kyoto-u.ac.jp>
|
|
|
|
Fix a bug whereby cp would fail to parse an option like
|
|
--preserve=mode,ownership.
|
|
* src/cp.c (decode_preserve_arg): Advance `comma' to
|
|
point the character following the comma.
|
|
|
|
2002-12-11 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/pathchk.c (NEED_PATHCONF_WRAPPER): Undefine before defining,
|
|
in case it's already defined.
|
|
|
|
2002-12-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/touch/fail-diag: Don't get a test failure if /no exists.
|
|
Instead, evoke a framework failure if /no-$$ exists.
|
|
Reported by Michael Stone.
|
|
|
|
2002-12-08 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/du.c (lstat) [! LSTAT_FOLLOWS_SLASHED_SYMLINK]:
|
|
Define to rpl_lstat, so that even on systems like Solaris 5.8,
|
|
du honors (per POSIX) the trailing slash on an argument referring
|
|
to a symlink-to-directory.
|
|
|
|
2002-12-06 Jim Meyering <jim@meyering.net>
|
|
|
|
* Use autoconf-2.57. Regenerate dependent files.
|
|
* Use automake-1.7.2. Regenerate dependent files.
|
|
|
|
* src/ls.c (gobble_file): Also stat the file if it's a
|
|
regular file and --indicator-style=classify (aka -F).
|
|
Thanks to Ed Santiago for opening my eyes.
|
|
|
|
* tests/ls/file-type: New file. Test for the above.
|
|
A test to contrast ls -F and ls --indicator-style=file-type.
|
|
* tests/ls/Makefile.am (TESTS): Add file-type.
|
|
|
|
2002-12-04 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/ls/follow-slink: Make sure the symlink was created.
|
|
Richard Dawe reported that `ln -s link link' succeeds, but creates
|
|
no file on systems running some version of the DJGPP libc.
|
|
|
|
2002-12-03 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/Makefile.am (AUTOMAKE_OPTIONS): Remove definition (to ansi2knr)
|
|
since this package no longer panders to K&R compilers.
|
|
|
|
2002-12-02 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/du/slink: Skip this test if `.' is on a non-local file system.
|
|
|
|
* tests/Fetish.pm (_at_replace): Do the substitution only if there's
|
|
something to replace.
|
|
|
|
2002-12-01 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/stat.c: Don't include <string.h> or <ctype.h>.
|
|
That's already done via system.h.
|
|
* src/dircolors.c: Don't include <ctype.h>.
|
|
|
|
2002-11-30 Jim Meyering <jim@meyering.net>
|
|
|
|
* ls.c (gobble_file): Remove the block of code that caused
|
|
`ls --color -F symlink-to-dir' to list the files in
|
|
`symlink-to-dir/.'. Now, it prints `symlink-to-dir@', (just
|
|
like `ls -F symlink-to-dir') but with the addition of highlighting.
|
|
Similarly, `ls --color -dF symlink-to-dir' would print
|
|
`symlink-to-dir/'; now it prints `symlink-to-dir@'.
|
|
Reported by Jeff Sheinberg as Debian bug #168203.
|
|
* tests/ls-2/tests (sl-F-color, sl-dF-color): New tests for the above.
|
|
|
|
ls is now more efficient: with certain options, it no longer needs
|
|
to stat each directory entry on systems with valid dirent.d_type.
|
|
* src/ls.c (print_dir): Add DT_LNK and DT_REG.
|
|
(main): Make --recursive set format_needs_type, not format_needs_stat.
|
|
(gobble_file): Remove a FIXME comment, now that it's fixed.
|
|
|
|
2002-11-24 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/du.c (du_files): Don't strip any trailing slash.
|
|
Rewrite so that `/' is no longer represented internally as
|
|
the empty string.
|
|
(count_entry): When appending a file name component,
|
|
account for the fact that the current path may end in `/'.
|
|
François Pinard reported that `du symlink-to-dir/' was not
|
|
equivalent to `du symlink-to-dir/.'. Now it is.
|
|
* tests/du/trailing-slash: New file/test, for the above fix.
|
|
* tests/du/Makefile.am (TESTS): Add trailing-slash.
|
|
|
|
2002-11-23 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/tac.c (output): Declare some local variables to be of type size_t,
|
|
rather than `int' to avoid warnings from gcc.
|
|
|
|
2002-11-21 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/ls.c (decode_switches): Use case-sensitive matching to
|
|
decode the QUOTING_STYLE environment variable. This is more
|
|
consistent with the documentation, and with --quoting-style.
|
|
|
|
2002-11-21 Martin Buck <martin.buck@ascom.ch
|
|
|
|
* src/stty.c (struct speeds): Add support for all baud rates defined
|
|
in linux-2.4.19.
|
|
|
|
2002-11-19 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/sum/sysv: Export LC_ALL=C, to avoid failure when
|
|
run in a UTF locale. Report and suggested fix by Bruno Haible.
|
|
* tests/fmt/basic: Likewise.
|
|
|
|
2002-11-17 Jim Meyering <jim@meyering.net>
|
|
|
|
* configure.ac: Update via autoupdate.
|
|
Add `AM_GNU_GETTEXT_VERSION(0.11.5)'.
|
|
|
|
* src/mv.c (movefile): Don't remove trailing slashes from SOURCE.
|
|
Reported by Hans Ginzel.
|
|
|
|
2002-11-15 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.cfg (gnu_rel_host): Define.
|
|
(url_dir_list): Choose from (alpha|ftp).gnu.org depending
|
|
on whether $(VERSION) looks like a major release number.
|
|
|
|
* Makefile.maint (mail_gpg_sign_cookie): Backslash-escape `#'.
|
|
(release): Rename from `alpha'.
|
|
(alpha): Depend on release.
|
|
|
|
* Makefile.maint (signatures): Define with ?=, so it's easy to override.
|
|
|
|
2002-11-14 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.maint (mail_gpg_sign_cookie): Make optional.
|
|
(announcement): Use the new variable.
|
|
|
|
* Makefile.maint: Sync with Bison, i.e.:
|
|
(po-check): Scan .l and .y files instead of the
|
|
.c and the .h files that they generate. This fixes the bug
|
|
reported by Tim Van Holder in:
|
|
<http://mail.gnu.org/pipermail/bison-patches/2002-November/001352.html>
|
|
Look for N_ as well as for _. Try to avoid matching #define for
|
|
N_ and _.
|
|
From Paul Eggert.
|
|
|
|
2002-11-12 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/ls.c (HAVE_SYMLINKS): Remove unnecessary macro definition.
|
|
Replace sole use with equivalent `#ifdef S_ISLNK'.
|
|
Inconsistency reported by Dmitry V. Levin.
|
|
|
|
2002-11-11 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/stat.c (usage): Transform --help items output via s/ - / /,
|
|
so that help2man produces properly formatted man pages.
|
|
Reported by Herbert Xu as Debian bug #168400.
|
|
|
|
2002-11-10 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/ls.c (sighandler): Handle SIGTSTP specially.
|
|
Based on suggestions from Solar Designer and Dmitry V. Levin.
|
|
Add comments.
|
|
|
|
* Makefile.cfg (cvs_files): Define. From autoconf.
|
|
(local_updates): Likewise.
|
|
|
|
* src/ls.c (restore_default_color_handler, sigtstp_handler):
|
|
Remove functions.
|
|
(sighandler): New function, based on the one in sort.c.
|
|
(main): Use sigaction, if possible; otherwise signal.
|
|
Handle these signals:
|
|
SIGHUP, SIGINT, SIGPIPE, SIGQUIT, SIGTERM, SIGTSTP.
|
|
Don't register our handler if the signal is already being ignored.
|
|
|
|
* src/dd.c (interrupt_handler): Use raise, rather than kill+getpid.
|
|
* src/csplit.c (interrupt_handler): Likewise.
|
|
* src/sort.c (sighandler): Likewise.
|
|
(main): Declare `i' and `nsigs' to be unsigned, not int.
|
|
|
|
2002-11-09 Jim Meyering <jim@meyering.net>
|
|
|
|
ls --color: restore terminal text color upon signal.
|
|
* src/ls.c: Include "full-write.h" and <signal.h>.
|
|
(restore_default_color, restore_default_color_handler): New functions.
|
|
(sigtstp_handler, put_indicator_direct): New functions.
|
|
(main) [print_with_color]: Register signal handlers.
|
|
Patch mostly by Solar Designer and Stanislav Ievlev.
|
|
|
|
Update from autoconf.
|
|
* Makefile.maint (AMTAR): Remove definition.
|
|
(update, cvs-update, po-update, do-po-update): New rules.
|
|
(wget-update): Update (thus renaming to cvs-update).
|
|
(automake_repo): Use anoncvs@sources.redhat.com.
|
|
|
|
2002-11-06 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/misc/Makefile.am (TESTS): Add printf-hex.
|
|
|
|
* tests/misc/printf: Be careful to test the code in this package,
|
|
not the shell built-in function.
|
|
|
|
* src/printf.c (print_esc): A hexadecimal escape sequence has
|
|
at most two hex. digits, not three. Reported by Padraig Brady.
|
|
(usage): Update description.
|
|
* tests/misc/printf-hex: New file/test, for the above fix.
|
|
|
|
2002-10-07 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Add support for locale-specific size indications (e.g.,
|
|
thousands-separators) and for explicit size suffixes on output.
|
|
|
|
* doc/coreutils.texi (Block size): Say that:
|
|
This affects display format as well as block size.
|
|
Fractional block counts are rounded up.
|
|
ls file size blocksize defaults to 1.
|
|
A block size spec preceded by ' generates thousands separators.
|
|
A suffix without a preceding integer generates suffixes.
|
|
(tail invocation): 32k -> 32 KiB.
|
|
(What information is listed): ls -h is now equivalent to
|
|
ls --block-size=human, and ls -H is now equivalent to
|
|
ls --block-size=si. Displayed file size is now always affected by
|
|
--block-size.
|
|
|
|
* lib/inttostr.c, lib/inttostr.h, lib/imaxtostr.c, lib/offtostr.c,
|
|
lib/umaxtostr.c: New files, taken from GNU tar.
|
|
|
|
* lib/Makefile.am (libfetish_a_SOURCES): Add imaxtostr.c, offtostr.c,
|
|
umaxtostr.c.
|
|
(EXTRA_DIST): Add inttostr.c.
|
|
|
|
* lib/human.c, lib/human.h: Rewrite to support locale-specific
|
|
notations like thousands separators.
|
|
Specify what includer of include.h must include beforehand.
|
|
(human_group_digits, human_suppress_point_zero, human_autoscale,
|
|
human_base_1024, human_SI, human_B): New enum values.
|
|
(human_readable): Rename from human_readable_inexact; put the
|
|
options before the sizes. All uses changed. The old human_readable
|
|
function has been removed; use inttostr.h instead.
|
|
(human_options): Renamed from human_block_size, with new signature
|
|
that allows block sizes up to UINTMAX_MAX. All callers changed.
|
|
|
|
* m4/prereq.m4 (jm_PREREQ_HUMAN): Check for locale.h, localeconv,
|
|
AC_HEADER_STDBOOL. No need to check for limits.h since it's in
|
|
freestanding C89. No need to check for stdlib.h or string.h since
|
|
autoconf does this now.
|
|
|
|
* src/cksum.c (cksum): Use primitives from inttostr.h, not
|
|
human.h, to print large numbers simply.
|
|
* src/csplit.c (handle_line_error, parse_patterns): Likewise.
|
|
* src/dd.c (print_stats, main): Likewise.
|
|
* src/df.c (print_header): Likewise.
|
|
* src/factor.c (print_factors): Likewise.
|
|
* src/ls.c (print_long_format, print_file_name_and_frills): Likewise.
|
|
* src/shred.c (dopass): Likewise.
|
|
* src/sort.c (checkfp): Likewise.
|
|
* src/sum.c (bsd_sum_file, sysv_sym_file): Likewise.
|
|
* src/tail.c (xlseek): Likewise.
|
|
* src/wc.c (write_counts, wc): Likewise.
|
|
|
|
* src/df.c (human_output_opts): New var.
|
|
(output_block_size): Now uintmax_t, not int, to handle larger
|
|
block sizes. All uses changed.
|
|
* src/du.c: Likewise.
|
|
* src/ls.c: Likewise.
|
|
|
|
* src/df.c (print_header): In the header line, prefer SI to human
|
|
representation if it's shorter; if neither is shorter, try to
|
|
intuit what the user would prefer.
|
|
|
|
* src/expr.c (inttostr): Remove; use new imaxtostr library
|
|
function instead.
|
|
|
|
* src/ls.c (file_output_block_size): New var, to distinguish
|
|
file sizes from other sizes.
|
|
(decode_switches): Set it.
|
|
|
|
* src/shred.c (OUTPUT_BLOCK_SIZE): remove.
|
|
(dopass): When printing progress, use floor for what has been done
|
|
so far (since we should be conservative there), and ceiling for
|
|
what needs to be done (since that's what other programs use).
|
|
|
|
2002-10-19 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/pinky.c (print_heading): Align TTY and Name headings.
|
|
Reported by Karl Eichwalder.
|
|
|
|
2002-10-18 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/split.c (cwrite): Change type of `bytes' parameter to size_t
|
|
Remove now-useless cast.
|
|
(stdread): Remove function.
|
|
(bytes_split): Use size_t instead of int.
|
|
Use safe_read, not stdread.
|
|
(lines_split): Likewise.
|
|
Use memchr rather than a `while' loop.
|
|
(line_bytes_split): Use size_t instead of int.
|
|
Use safe_read, not stdread.
|
|
(main): Add some FIXME comments to remind me to remove casts.
|
|
|
|
* src/system.h (ST_BLKSIZE): Correct comment describing how to
|
|
reproduce HPUX-11 cat failure. From Petter Reinholdtsen.
|
|
|
|
2002-10-17 Jim Meyering <jim@meyering.net>
|
|
|
|
Fix a problem that could make e.g., `cat' misbehave on systems which
|
|
give invalid (unreasonably large) values for stat.st_blksize.
|
|
* src/system.h (ST_BLKSIZE): Ensure that the result is in [1..4MB].
|
|
Reported by Petter Reinholdtsen.
|
|
|
|
2002-10-14 Jim Meyering <jim@meyering.net>
|
|
|
|
Specifying a printf conversion specifer as nl's separator string
|
|
could cause nl to segfault.
|
|
* src/nl.c (build_print_fmt): Don't include separator string
|
|
in the printf format; it might contain `%'.
|
|
Use a better bound on the length of the print_fmt buffer.
|
|
(print_lineno): Print the separator here instead.
|
|
Reported by Doug Coleman.
|
|
|
|
* tests/misc/nl: New file/tests, including a test for the above.
|
|
* tests/misc/Makefile.am (TESTS): Add nl.
|
|
|
|
* tests/misc/split-l: New test, to make sure `split --lines=N' works.
|
|
* tests/misc/Makefile.am (TESTS): Add split-l.
|
|
|
|
2002-10-13 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 4.5.3.
|
|
|
|
* src/du.c (usage): Tweak description of --dereference-args/-D.
|
|
|
|
* src/du.c (count_entry): Also save cwd when dereferencing (via
|
|
--dereference-args, -D) a command-line argument.
|
|
Reported by Michal Svec. Based on a patch by Andreas Schwab.
|
|
|
|
* src/Makefile.am (../AUTHORS): New target/rule.
|
|
|
|
2002-10-12 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/paste.c (paste_parallel): Declare local, `delims_saved', to be
|
|
of type size_t, since that's the way it's used and avoids a warning.
|
|
|
|
* src/csplit.c (struct cstring) [len]: Declare to be unsigned int,
|
|
since that's how it's always used and avoids a new warning from gcc.
|
|
(read_input): Adapt to new safe_read ABI.
|
|
|
|
* src/cut.c (cut_fields): Add a temporary size_t variable, n_bytes,
|
|
to avoid warnings.
|
|
|
|
* src/pinky.c (print_long_entry): fread returns size_t.
|
|
Declare local `bytes' accordingly, to avoid warning.
|
|
|
|
tail -c +N would perform an extra read after encountering EOF
|
|
[this change is analogous (bytes vs. lines) to the one of 2002-01-27]
|
|
* src/tail.c (start_bytes): Detect EOF, inform caller.
|
|
(tail_bytes): Upon EOF in start_bytes, return immediately.
|
|
(file_lines): Reorganize to use memrchr rather than an explicit loop.
|
|
Adapt to new safe_read ABI.
|
|
|
|
2002-10-11 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/du/deref: New file/test, for the above fix.
|
|
* tests/du/Makefile.am (TESTS): Add deref.
|
|
|
|
2002-10-10 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/ln/Makefile.am (TESTS): Add target-1.
|
|
* tests/ln/target-1: New file/test, for the fix on 2002-10-08.
|
|
|
|
2002-10-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/cp/backup-is-src: Ensure that certain environment variables
|
|
are not set (e.g., SIMPLE_BACKUP_SUFFIX). Reported by Duncan Roe.
|
|
|
|
* tests/tail-2/big-4gb: Mark this as an expensive test; it would
|
|
consume 4GB of disk space on systems without support for sparse files.
|
|
Fix a logic error that'd make it `cat err' even though dd didn't fail.
|
|
|
|
* src/dircolors.hin (.jar): Fix typo: s/;3$/;31/.
|
|
Patch by steven@magelico.net, forwarded by Michael Stone.
|
|
|
|
* tests/ls/dired: Ensure that ls produces English messages.
|
|
Patch by Alexey Vyskubov, forwarded by Michael Stone.
|
|
|
|
2002-10-08 Dmitry V. Levin <ldv@altlinux.org>
|
|
|
|
* src/ln.c (main): Fix target_directory parsing when n_files == 1.
|
|
|
|
2002-10-08 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/tail-2/big-4gb: Use double quotes around diagnostic.
|
|
Fix syntax in test: use =, not ==.
|
|
Reported by Bob Proulx.
|
|
Change all the rest like this: grep -lR "testing framework'" .\
|
|
|xargs perl -pi -e 's/'\''(\$0: failure in testing framework)'\''/"$1"/'
|
|
|
|
* src/sum.c (sysv_sum_file): Adapt to new safe_read ABI.
|
|
* src/tr.c (squeeze_filter, read_and_delete, read_and_xlate): Likewise.
|
|
* src/tac.c (save_stdin, tac_stdin_to_mem): Likewise.
|
|
* src/wc.c (wc): Likewise.
|
|
|
|
2002-10-07 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/cat.c (cat):
|
|
Don't advance the write pointer past the end of the write buffer.
|
|
* src/sort.c (begfield, limfield): Likewise.
|
|
|
|
2002-10-07 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/cat.c (simple_cat, cat): Adapt to new safe_read ABI.
|
|
* src/head.c (head_bytes, head_lines): Likewise.
|
|
|
|
2002-10-06 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/dd.c (scanargs): Ensure that specified block sizes (specified
|
|
via ibs=N, obs=N, and bs=N) are no larger than SSIZE_MAX.
|
|
(skip, dd_copy): Adapt to new safe_read ABI.
|
|
|
|
* Makefile.maint (signatures): Define.
|
|
(%.sig): New rule.
|
|
(announcement): Depend on $(signatures).
|
|
|
|
* Makefile.maint (announcement): Output all URLs for detached
|
|
signatures, not just the last one from the previous loop.
|
|
|
|
2002-10-05 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 4.5.2.
|
|
|
|
* src/remove.c (remove_entry) [ROOT_CAN_UNLINK_DIRS]: With `rm -i DIR',
|
|
don't recurse into directory, DIR. Prompted by a report from
|
|
Leonardo Milano.
|
|
|
|
* tests/rm/i-no-r: New file/test, for the above fix.
|
|
* tests/rm/Makefile.am (TESTS): Add i-no-r.
|
|
|
|
* tests/tail-2/big-4gb: New file/test, for the fix of 2002-09-27.
|
|
* tests/tail-2/Makefile.am (TESTS): Add big-4gb.
|
|
|
|
2002-10-03 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/rm.c (AUTHORS): Mark translatable string with `N_ (...)'.
|
|
* src/df.c (AUTHORS): Likewise.
|
|
* src/du.c (AUTHORS): Likewise.
|
|
* src/tail.c (AUTHORS): Likewise.
|
|
* src/touch.c (AUTHORS): Likewise.
|
|
|
|
2002-10-02 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.am (SUBDIRS): Remove `old'.
|
|
(EXTRA_DIST): List the files in old/.
|
|
* configure.ac (AC_CONFIG_FILES): Remove old/* names.
|
|
Suggestion from Akim Demaille.
|
|
|
|
2002-10-01 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/sys2.h (SSIZE_MAX): Define.
|
|
|
|
2002-09-30 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/csplit.c: Don't include stdlib.h here. It's already included
|
|
via system.h.
|
|
|
|
2002-09-29 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/tr.c (find_bracketed_repeat): Rearrange pointer/integer
|
|
expression to avoid bogus warning from gcc.
|
|
|
|
* src/cat.c (simple_cat): Use a temporary to avoid bogus warnings.
|
|
(cat): Declare insize and outsize to be of type size_t, not int.
|
|
Rearrange pointer/integer expressions to avoid bogus warnings.
|
|
(main): Declare insize and outsize to be of type size_t, not int.
|
|
|
|
* src/tail.c (parse_options): Give a sensible diagnostic for
|
|
an invalid byte or line count. Reported by Mikko Tuumanen.
|
|
|
|
* src/touch.c (main): Split a long line.
|
|
|
|
* tests/du/Makefile.am (TESTS): Add slink.
|
|
* tests/du/slink: New test for system.h change of 2002-08-31.
|
|
|
|
In move mode, always first try to rename. Before, upon failure to
|
|
rename a directory, this code would never attempt to rename any
|
|
other file in that directory, but would thenceforth always copy.
|
|
On some systems (e.g., NetApp's OnTap-6.4), renaming a directory
|
|
may fail with EXDEV, yet renaming files within that directory to
|
|
a newly-created destination directory succeeds.
|
|
* src/copy.c (copy_internal): Remove local, move_mode;
|
|
use x->move_mode instead. Based on a patch from Tom Haynes.
|
|
|
|
2002-09-28 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/split.c (FAIL_ONLY_ONE_WAY): New macro.
|
|
Factor out some duplication.
|
|
(main): Use it.
|
|
[case 'a']: Use strtoul rather than strtol to avoid compiler warnings.
|
|
|
|
* src/sort.c (begfield, limfield): Rearrange comparisons to avoid
|
|
compiler warnings.
|
|
(fillbuf, keycompare): Cast literal `-1' to size_t in comparisons,
|
|
to avoid compiler warnings.
|
|
|
|
* src/shred.c (dopass): Use a uintmax_t temporary to avoid bogus
|
|
compiler warnings.
|
|
|
|
Fix things so `mkdir -p' can create very deep directories, e.g.,
|
|
mkdir -p $(perl -e 'print "a/" x 40000') now works.
|
|
* src/mkdir.c (main): For --parents (-p), call make_path with the
|
|
entire directory name, so we don't ever require that file operations
|
|
like stat or chmod be performed on the entire command line argument.
|
|
* makepath.c (make_path): Restore umask *before* creating the final
|
|
component.
|
|
|
|
2002-09-27 Andreas Schwab <schwab@suse.de>
|
|
|
|
* src/tail.c (tail_bytes): Change type of bytes_remaining to off_t
|
|
to avoid overflow. Reported by Hans Lermen.
|
|
|
|
2002-09-26 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/install.c (get_ids): Use strtoul, not strtol. Remove some casts.
|
|
|
|
2002-09-25 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/test.c (eaccess): Change type of local `euid' from int to uid_t
|
|
and add a cast, to avoid a warning about `signed and unsigned type in
|
|
conditional expression'.
|
|
|
|
2002-09-22 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/rmdir.c: Include "dirname.h", for declaration of
|
|
strip_trailing_slashes.
|
|
|
|
* src/stat.c (PRIdMAX, PRIuMAX): Remove definitions.
|
|
Now they're defined through system.h.
|
|
|
|
* src/cp-hash.c, src/dd.c, src/df.c, src/du.c, src/ls.c,
|
|
* src/stat.c, src/wc.c: Remove all inclusions of inttypes.h,
|
|
since it's already included from sys2.h via system.h.
|
|
|
|
* Use automake-1.6f. Regenerate dependent files.
|
|
|
|
* src/Makefile.am (PERL): Remove duplicate definition.
|
|
|
|
fmt's -s, -t, -c options didn't work properly for long lines.
|
|
Since get_line may end up calling put_paragraph (for long lines),
|
|
be sure to set global, `other_indent', before it is used there.
|
|
|
|
* src/fmt.c (set_other_indent): New function, factored out of...
|
|
(get_paragraph): ... here. Call it.
|
|
(get_line): Call set_other_indent before calling flush_paragraph,
|
|
which calls fmt_paragraph, which in turn calls put_paragraph,
|
|
which uses other_indent.
|
|
|
|
* tests/fmt/Makefile.am (TESTS): Add long-line.
|
|
* tests/fmt/long-line: New file/test, for the above fix.
|
|
|
|
2002-09-21 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/od.c: No longer include deprecated <values.h>.
|
|
It was required solely for now-removed reference to BITSPERBYTE.
|
|
* src/install.c: Likewise.
|
|
Suggestion from Bruno Haible.
|
|
|
|
2002-09-06 Andreas Schwab <schwab@suse.de>
|
|
|
|
`rmdir -p dir-specified-with-trailing-slash/' would fail.
|
|
* src/rmdir.c (remove_parents): Strip trailing slashes.
|
|
|
|
2002-09-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/rmdir/t-slash: New file/test, for the above fix.
|
|
* tests/rmdir/Makefile.am (TESTS): Add t-slash.
|
|
|
|
* Makefile.maint (announcement): Arrange to gpg-sign the message.
|
|
Add a URL for each detached signature file.
|
|
|
|
2002-09-07 Bruno Haible <bruno@clisp.org>
|
|
|
|
* configure.ac: Add need-ngettext to AM_GNU_GETTEXT invocation.
|
|
|
|
2002-09-18 Jim Meyering <jim@meyering.net>
|
|
|
|
`od -t x8' used the wrong (`l'-prefixed) printf format.
|
|
Likewise for the o8 and u8 formats.
|
|
* src/od.c (ISPEC_TO_FORMAT): Define macro.
|
|
(decode_one_format): Use PRIdMAX, PRIoMAX, etc. for LONG_LONG.
|
|
Reported by Arun Sharma.
|
|
|
|
2002-09-17 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/sys2.h (PRIdMAX, PRIoMAX, PRIuMAX, PRIxMAX): Define if necessary.
|
|
From gettext's intl/loadmsgcat.c.
|
|
|
|
* tests/od/x8: New file/test, for the above fix.
|
|
* tests/od/Makefile.am (TESTS): Add x8.
|
|
|
|
2002-09-15 Jim Meyering <jim@meyering.net>
|
|
|
|
* Use autoconf-2.54. Regenerate dependent files.
|
|
|
|
* src/csplit.c (get_format_width): Add cast to avoid
|
|
warning about `signed and unsigned type in conditional expression'.
|
|
|
|
2002-09-14 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/who.c (print_user): Change type of local to size_t
|
|
to avoid warnings about `comparison between signed and unsigned'.
|
|
* src/ptx.c (generate_all_output): Likewise.
|
|
|
|
* src/dd.c (main, skip): Add casts to avoid warnings about
|
|
`comparison between signed and unsigned'.
|
|
|
|
* src/id.c (print_full_info, print_group_list): Add casts to avoid
|
|
warnings about `signed and unsigned type in conditional expression'.
|
|
|
|
* src/md5sum.c: Change type of global, digest_hex_bytes, to size_t
|
|
to avoid warnings about `comparison between signed and unsigned'.
|
|
(split_3): Change parameter names to be readable and add comment.
|
|
Clean up the test for whether a line may be ignored.
|
|
|
|
2002-09-13 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/printf.c (main): Handle leading command line argument of `--'.
|
|
Reported by Raul: DervishD <raul@pleyades.net>
|
|
* tests/misc/printf: New file: test for the above.
|
|
* tests/misc/Makefile.am (TESTS): Add printf.
|
|
|
|
* src/date.c (usage): Explain that %S's range of [0..60] is required --
|
|
rather than 0..59 -- to accommodate the occasional positive leap second.
|
|
Reported by Richard Neill.
|
|
|
|
2002-09-12 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/Makefile.am (nanosec_libs): Define.
|
|
(sleep_LDADD, tail_LDADD): Use it here.
|
|
|
|
Factor nanosleep-related code into ../lib/xnanosleep.c.
|
|
* src/sleep.c: Include xnanosleep.h.
|
|
Factor out fenv.h-related code.
|
|
(timespec_subtract): Remove function.
|
|
(main): Remove code that deals with computing start and stop times
|
|
as well as the loop around nanosleep. Now that's in xnanosleep.c.
|
|
|
|
Allow S (in --sleep-interval=S) to be a floating point value.
|
|
* src/tail.c: Include xnanosleep.h and xstrtod.h.
|
|
Move declaration of global variable, sleep_interval, to ...
|
|
(main): ...here.
|
|
(usage): Update description of --sleep-interval option.
|
|
(tail_forever): New parameter, sleep_interval. Update caller.
|
|
Use xnanosleep, rather than sleep.
|
|
(parse_options): New parameter, sleep_interval. Update caller.
|
|
Use xstrtod, now that we accept floating point values.
|
|
Prompted by a patch from Augey Mikus.
|
|
|
|
2002-09-06 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/remove.c (prompt): Change comment to give a better note to
|
|
translators. From Michael Piefel.
|
|
|
|
2002-09-02 Jim Meyering <jim@meyering.net>
|
|
|
|
* README: A good problem report/patch includes diffs against
|
|
the most recent test release.
|
|
|
|
* src/pathchk.c (NEED_PATHCONF_WRAPPER): Define.
|
|
(pathconf_wrapper): Define only if NEED_PATHCONF_WRAPPER is set.
|
|
|
|
* src/kill.c (print_table_row): Use an unsigned type for widths
|
|
to avoid warning about comparison between signed and unsigned.
|
|
(list_signals): Likewise.
|
|
|
|
* src/od.c (skip): Add a cast to avoid warning about comparison
|
|
between signed and unsigned.
|
|
* src/install.c (get_ids): Likewise. Also rearrange range-checking
|
|
comparisons to make them more readable.
|
|
|
|
2002-09-01 Jim Meyering <jim@meyering.net>
|
|
|
|
* Version 4.5.1.
|
|
|
|
2002-08-31 Jim Meyering <jim@meyering.net>
|
|
|
|
Symlinks were always reported as using 0 blocks.
|
|
* src/system.h (ST_NBLOCKS): Don't depend on file type.
|
|
This reverts the change of 2000-01-30.
|
|
Based on a report and patch from Neil Brown via Michael Stone.
|
|
This fixes Debian Bug#156358.
|
|
|
|
* Most files: Change `exit (0)' to `exit (EXIT_SUCCESS)',
|
|
`exit (1)' to `exit (EXIT_FAILURE)', and
|
|
`usage (1)' to `usage (EXIT_FAILURE)'.
|
|
|
|
* chgrp.c, chmod.c, chown.c, chroot.c, cp.c, date.c, dd.c, du.c,
|
|
* hostname.c, id.c, install.c, ln.c, mkdir.c, mkfifo.c, mknod.c,
|
|
* nice.c, pinky.c, printf.c, pwd.c, shred.c, sleep.c, stty.c,
|
|
* su.c, tac-pipe.c, tail.c, tee.c, touch.c, uname.c, uptime.c,
|
|
* users.c, who.c: Change `error (1, ...' to `error (EXIT_FAILURE, ...'.
|
|
But don't change `error (0, ...' to `error (EXIT_SUCCESS, ...', since
|
|
error never exits successfully.
|
|
|
|
2002-08-29 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/remove.c (remove_cwd_entries): Use closedir (not CLOSEDIR)
|
|
when ignoring any return value.
|
|
|
|
* src/remove.c (remove_cwd_entries): Detect and diagnose readdir
|
|
failures. On some systems (at least EMC Celerra and Solaris5.8),
|
|
this appears to be necessary.
|
|
(is_empty_dir): Likewise. Also, always close directory handle.
|
|
* src/ls.c (print_dir): Likewise.
|
|
(print_dir): Rename local variable: reading -> dirp.
|
|
Reported by Mike Coleman.
|
|
|
|
2002-08-28 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/remove.c (remove_cwd_entries): Use CLOSEDIR, not closedir.
|
|
Give a diagnostic and fail if closedir fails.
|
|
|
|
2002-08-26 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.am (THANKS-to-translators): New rule.
|
|
(EXTRA_DIST): Add both THANKS-to-translators and THANKStt.in.
|
|
* THANKStt.in: New file.
|
|
|
|
* src/cat.c (close_stdout_wrapper): New, kludgey, function and
|
|
file-scoped global.
|
|
(main): Register it with atexit.
|
|
Close STDOUT_FILENO, to avoid a problem when writing to
|
|
/dev/audio on at least Solaris 5.7 and 5.8 systems.
|
|
Reported by Shing-Shong Shei.
|
|
|
|
2002-08-25 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/cat.c (main): Close STDIN_FILENO rather than a literal `0'.
|
|
* src/tac.c (main): Likewise.
|
|
* src/tail.c (main): Likewise.
|
|
* src/tee.c (main): Likewise.
|
|
* src/tr.c (main): Likewise.
|
|
* src/wc.c (main): Likewise.
|
|
|
|
2002-08-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/mv/setup: Rewrite not to use `: ${VAR=not_set}' paradigm.
|
|
|
|
2002-08-10 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* src/nohup.sh: Don't use "exec --"; it's not portable and
|
|
shouldn't be needed.
|
|
|
|
2002-08-09 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/pr.c (main): Don't ignore -COLUMN if it's the last option.
|
|
(usage): Clarify help text for the -COLUMN option.
|
|
Patch by Padraig Brady.
|
|
* tests/pr/Test.pm [col-last]: New test for the above.
|
|
|
|
* configure.ac: Start with version 4.5.1, chosen so that it's larger
|
|
than the latest version numbers of the component packages.
|
|
|
|
* man/Makefile.am (check-x-vs-1): Set and export PATH so we use
|
|
programs in ../src.
|
|
|
|
2002-08-08 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/date.c: Guard inclusion of <langinfo.h> with
|
|
`#if HAVE_LANGINFO_CODESET', not `#if HAVE_LANGINFO_H'.
|
|
* src/sort.c: Likewise.
|
|
Patch by GOTO Masanori.
|
|
|
|
2002-08-05 Paul Eggert <eggert@twinsun.com>
|
|
|
|
Fix some minor time-related bugs with POSIX time arguments.
|
|
Some valid time stamps were being rejected (notably -1, and
|
|
time stamps before 1900 on 64-bit hosts). And some invalid
|
|
time stamps were being accepted, e.g. September 31.
|
|
|
|
* src/date.c (main): Adjust to posixtime signature change.
|
|
* src/touch.c (main): Likewise. Remove unnecessary initialization.
|
|
Use localtime, not posixtm, to warn about obsolete "touch".
|
|
|
|
2002-08-05 Jim Meyering <jim@meyering.net>
|
|
|
|
* tests/misc/Makefile.am (TESTS): Add nice and pathchk1.
|
|
|
|
2002-08-04 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/Makefile.am (check-README): New target/rule.
|
|
(check): Depend on it.
|
|
|
|
* configure.ac (AC_CONFIG_FILES): Add old/Makefile and old/*/Makefile.
|
|
|
|
2002-08-03 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.am (SUBDIRS): Add old.
|
|
* old/: New directory, containing legacy ChangeLog* and NEWS files
|
|
from the fileutils, sh-utils, and textutils packages.
|
|
|
|
* src/Makefile.am (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT): Set to false.
|
|
|
|
2002-08-02 Paul Eggert <eggert@twinsun.com>
|
|
|
|
* NEWS, doc/coreutils.texi: uniq now obeys LC_COLLATE.
|
|
|
|
* src/uniq.c: Include hard-locale.h, xmemcoll.h.
|
|
(hard_LC_COLLATE): New var.
|
|
(different): Args are now char *, not const char *.
|
|
Use xmemcoll instead of memcmp to compare lines, so that
|
|
LC_COLLATE has effect. However, use memcmp if it is an
|
|
easy locale.
|
|
(check_file): Do not include newline in comparison, so that
|
|
xmemcoll has a byte to stomp on temporarily.
|
|
(main): Set hard_LC_COLLATE.
|
|
|
|
2002-07-29 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.am (SUBDIRS): Remove djgpp, for now.
|
|
|
|
2002-07-20 Jim Meyering <jim@meyering.net>
|
|
|
|
* Makefile.am (false.c): Convert only the final EXIT_SUCCESS
|
|
into EXIT_FAILURE. Otherwise, false --help and false --version
|
|
would fail.
|
|
|
|
2002-07-08 Jim Meyering <jim@meyering.net>
|
|
|
|
* src/Makefile.am (uninstall-local): Search for @GNU_PACKAGE@,
|
|
rather than the hard-coded `sh-utils'.
|
|
|
|
2002-07-01 Jim Meyering <jim@meyering.net>
|
|
|
|
* configure.ac: Merge the three files from fileutils,
|
|
textutils, and sh-utils.
|
|
* Makefile.am: Likewise.
|
|
* src/Makefile.am: Likewise.
|