- if (signum >= 0 && signum < (int) sizeof(sigmsg) &&
- sigmsg[signum] != NULL)
- fprintf (fp, " (%s%s)\n", sigmsg[signum],
+ errno = 0;
+ signame = strsignal(signum);
+ if (errno)
+ signame = NULL;
+ if (signame)
+ fprintf (fp, " (%s%s)\n", signame,