This code snippet (from pdksh) fails for (i = 0; i < NSIG; i++) if (!sigtraps[i].name && sys_siglist[i][0]) sigtraps[i].mess = sys_siglist[i];
Only 32 signals are defined by POSIX and have names.