Age | Commit message (Collapse) | Author |
|
|
|
|
|
mv mistakenly fails to preserve a hard link. Reported by IIDA Yosiaki.
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.
|
|
|
|
(string_to_join_field): Report that a non-numeric field
number is invalid, rather than `so large that it is not representable'.
|
|
produce an invalid copy on the destination device.
(copy_reg): Even with --sparse=always, try to
make `holes' only if the destination is a regular file.
Reported by Szakacsits Szabolcs.
|
|
|
|
|
|
(main): Set the copy of stderr to close on exec.
|
|
|
|
|
|
of -H will soon change to that of --dereference-args (-D).
|
|
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.
|
|
Reword in terms of FILE1 and FILE2 rather than `left file' and
`right file'. Suggestion from Dan Jacobson.
|
|
the help2man-generated (line-joined) man page is more readable.
Reported by Tim Waugh.
[-T]: Add a semicolon, for the same reason.
|
|
|
|
|
|
(do_copy): Declare/use local xstat rather than x->xstat.
(main): Remove code that set x.xstat.
|
|
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.
(struct cp_options) [xstat]: Remove member.
(XSTAT): New macro.
|
|
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.
(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.
|
|
|
|
hosts with 64-bit time_t and 32-bit int).
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.
|
|
hosts with 64-bit time_t and 32-bit int).
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.
|
|
(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.
|
|
for clarity. All callers changed.
|
|
(ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
Now, those are all defined in timespec.h.
Include timespec.h.
|
|
|
|
'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.
|
|
|
|
(human_time): Add and use new parameter, t_ns.
(print_stat): Update callers.
|
|
|
|
|
|
|
|
|
|
`int', not `char', since it must hold EOF. This bug would make
paste infloop on some systems.
|
|
(main): Use initialize_exit_failure rather than
setting exit_failure directly; this optimizes away redundant assignments.
(TTY_FAILURE, TTY_WRITE_ERROR): New enum values;
substitute them for the corresponding integer constants.
|
|
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
(FATAL_ERROR, main): Exit with status EXIT_FAILURE, not 2, on errors.
|
|
(err): Now a boolean int, not a counter,
so that we don't have to worry about int overflow. All uses changed.
|
|
(main): Use initialize_exit_failure rather than
setting exit_failure directly; this optimizes away redundant
assignments.
|
|
Include exitfail.h here, since we refer to exit_failure.
All callers changed to not include exitfail.h.
(EXIT_FAIL, EXIT_CANNOT_INVOKE, EXIT_ENOENT): New enum values.
|
|
(main): Initialize exit_failure to EXIT_FAIL.
(main): Use EXIT_ENOENT and EXIT_CANNOT_INVOKE
rather than roll-your-own symbols or integers.
|
|
(main): Exit with status 1, not 2, on errors detected by stty proper.
|
|
(main): Use initialize_exit_failure rather than
setting exit_failure directly; this optimizes away redundant
assignments.
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.
|
|
(main): Likewise, to SETUIDGID_FAILURE.
(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.
|
|
(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.
|
|
(remove_parents): Don't set 'fail' to a negative number.
(main): Avoid integer overflow when seeing whether errors occurred.
|
|
(main): Use initialize_exit_failure rather than setting
exit_failure directly; this optimizes away redundant assignments.
(PRINTENV_FAILURE): New constant.
(main): Exit with status PRINTENV_FAILURE, not EXIT_FAILURE, on
command-line syntax problems.
|
|
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
(FATAL_ERROR, main): Exit with status EXIT_FAILURE, not 2, on errors.
|
|
|
|
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
|