MINSIG
static int (*sigs[MAXSIGNUM-MINSIG+1])(int);
if (sig >= MINSIG && sig <= MAXSIGNUM) {
savefn = sigs[sig-MINSIG];
sigs[sig-MINSIG] = action;
if (sig < MINSIG || sig > MAXSIGNUM ||
(sigfn = sigs[sig-MINSIG]) == (int(*)(int))(uintptr_t)SIG_DFL) {
sigs[sig-MINSIG] = (int(*)(int))(uintptr_t)SIG_DFL;