Paul Eggert [Sat, 9 Apr 2005 04:57:15 +0000 (04:57 +0000)]
Remove all uses of signals; modern hosts have
/dev/random and don't need this gorp.
Do not include signal.h.
(env, sigill_handler, isaac_seed_machdep): Remove. All uses removed.
Paul Eggert [Sat, 9 Apr 2005 04:55:40 +0000 (04:55 +0000)]
Do not include safe-read.h or full-write; no longer needed.
(process_signals): Add forward decl.
(SA_NOCLDSTOP, sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]:
New macros.
(siginterrupt) [! HAVE_SIGINTERRUPT]: New macro.
(SA_NODEFER) [!defined SA_NODEFER]: New macro.
(SA_RESETHAND) [!defined SA_RESETHAND]: New macro.
(caught_signals, interrupt_signal, info_signal_count, catch_siginfo):
New vars.
(usage): Mention -USR1 versus -INFO.
(cleanup): Don't invoke print_stats; the caller must do it now.
All callers changed.
(quit): Process signals just before exiting.
(interrupt_handler): Simply record the signal and return.
(siginfo_handler): Simply increment the signal counter and return.
(install_handler): Remove, replacing with:
(install_signal_handlers, process_signals, iread, iwrite):
New functions. All callers to safe_read and full_write replaced
by iread and iwrite. All callers to install_handler replaced by
install_handlers.
Do not include inttostr.h, no longer needed.
(print_stats, main): Rewrite and simplify formats to use PRIuMAX
instead of umaxtostr.
(print_stats): Work even in languages that have special
forms for two of things, for r_truncate and w_bytes. We can't
fix delta_s in this way, since ngettext doesn't support floating-point.
(main): Rewrite to avoid casts.
Paul Eggert [Sat, 9 Apr 2005 04:55:05 +0000 (04:55 +0000)]
(SA_NOCLDSTOP): Define to 0 if not defined.
All uses changed.
(siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
(delete_all_files): New arg IN_SIGNAL_HANDLER, to avoid undefined
behavior when called from a signal handler. All uses changed.
(main) [!defined SA_NOCLDSTOP]:
Use siginterrupt to specify that system calls should be interrupted.
Paul Eggert [Sat, 9 Apr 2005 04:52:25 +0000 (04:52 +0000)]
(rpl_nanosleep): Include "timespec.h" before macros
that might redefine system include files.
(siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
(my_usleep): Use NULL rather than (void *) 0.
(rpl_nanosleep) [!defined SA_NOCLDSTOP]:
Use siginterrupt to specify that system calls should be interrupted.
(rpl_nanosleep): Move initialization of suspended closer to call of
my_usleep.
Paul Eggert [Sat, 9 Apr 2005 04:51:11 +0000 (04:51 +0000)]
Document that dd no longer treats QUIT or PIPE specially,
and when conforming to POSIX no longer treats USR1 specially.
Document that dd no longer dumps core when handling signals.
Paul Eggert [Tue, 5 Apr 2005 22:20:05 +0000 (22:20 +0000)]
(cat invocation, chown invocation)
(chgrp invocation, basename invocation, dirname invocation):
Add examples, which are copies of the examples newly added
to the usage messages.
(ln invocation): Use same format as other examples above,
for consistency.
Paul Eggert [Mon, 4 Apr 2005 19:51:49 +0000 (19:51 +0000)]
(parser_control): rels_seen is now a boolean, not a
count, since there's no maximum. All uses changed.
Add member dsts_seen.
(local_zone): Accumulate dsts_seen rather than relying on tm_isdst
not being INT_MAX.
(get_date): Initialize dsts_seen, and check that it doesn't go over 1.
Use pc_rels_seen to decide whther a date is absolute.
(number): Don't overwrite year.
(get_date): Initialize pc.year.digits to 0, not 4, to enable above check.
(strtoumax): Remove declaration.
(first_last_page): Use xstrtoumax in place of strtoumax,
so we don't interpret a negative page number (e.g., in an option
like --pages=1:-1) as valid.
Paul Eggert [Wed, 30 Mar 2005 05:24:05 +0000 (05:24 +0000)]
(who): New arg OPTIONS. All uses changed.
(main): Check PIDs when invoked with zero or two arguments.
Omit duplicate code in 2-arg case.
(UT_PID): Moved to ../lib/readutmp.h.
Paul Eggert [Wed, 30 Mar 2005 05:20:57 +0000 (05:20 +0000)]
* readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
Remove duplicate call to AC_LIBOBJ(readutmp).
(gl_PREREQ_READUTMP): Remove. All uses removed. This module
no longer relies on free (NULL) working.
Paul Eggert [Wed, 30 Mar 2005 05:20:25 +0000 (05:20 +0000)]
(gl_READUTMP): Require AC_C_INLINE.
Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
Remove duplicate call to AC_LIBOBJ(readutmp).
(gl_PREREQ_READUTMP): Remove. All uses removed. This module
no longer relies on free (NULL) working.
Paul Eggert [Wed, 30 Mar 2005 05:18:37 +0000 (05:18 +0000)]
(read_utmp): New arg OPTIONS. All uses changed.
Include signal.h, stdbool.h.
(desirable_utmp_entry): New function.
(read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
using x2nrealloc, to simplify logic.
(read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
size calculation.