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.
'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.
(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.
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): 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.
(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.
(main): Initialize exit_failure to EXIT_FAIL.
(main): Use EXIT_ENOENT and EXIT_CANNOT_INVOKE
rather than roll-your-own symbols or integers.
(NOHUP_FOUND_BUT_CANNOT_INVOKE): Remove; all uses
changed to EXIT_CANNOT_INVOKE.
(usage): Don't bother normalizing exit status
since the arg is already the correct exit status now.
(main): Exit with status 1, not 2, on errors detected by nl proper.