2f15a11c55
* 'sigseen' in Build.sh goes away * Signal name existence is checked in this order: have our own¹ -> sys_signame[] -> _sys_signame[] -> build our own² * Signal description existence is checked in this order: sys_siglist[] -> _sys_siglist[] -> strsignal() -> NULL³ ¹ Predefined list of items, for operating systems where we cannot build² them, i.e. Plan 9 and Minix 3 (e.g. no $CPP -dD) ² The usual cpp(1) stuff ³ Changed later, see below * Make $CPP test dependent on $NEED_MKSH_SIGNAME (others can be added here, this is not absolute) * Make signal name list generation² dependent on $NEED_MKSH_SIGNAME * Fix check if the generation worked * Guarantee that sigtraps[*].name and sigtraps[*].mess are valid C strings; this makes the code shorter *and* removes a few pos- sible nil pointer dereferences * Embed autoconf'd usages of sys_sig* / strsignal / mksh_sigpairs into inittraps() * Check for each signal 0<=i<=NSIG that name is not NULL or "" -> replace with ("%d", i) mess is not NULL or "" -> replace with ("Signal %d", i) name does not start (case-insensitive) with "SIG" -> name += 3 * In gettrap(), fix check if signal name starts, case-sensitive or case-insensitive, depending on need, with "SIG" (bug from millert@) Other changes: * Build.sh: ac_test[n]() are documented * Build.sh: ac_test[n]() can have negative prereqs as well now * Build.sh: use <<-'EOF' consistently * bump patchlevel to today
20 lines
394 B
C
20 lines
394 B
C
#ifndef MKSH_SIGNAMES_CHECK
|
|
__RCSID("$MirOS: src/bin/mksh/signames.c,v 1.1 2007/01/12 00:25:40 tg Exp $");
|
|
#endif
|
|
|
|
static const struct mksh_sigpair {
|
|
int nr;
|
|
const char *const name;
|
|
} mksh_sigpairs[] = {
|
|
#ifdef __Plan9__
|
|
...
|
|
#elif defined(__minix)
|
|
...
|
|
#elif defined(MKSH_SIGNAMES_CHECK)
|
|
#error no, must be OS supplied
|
|
#elif !defined(__IN_MKDEP)
|
|
#include "signames.inc"
|
|
#endif
|
|
{ 0, NULL }
|
|
};
|