fprintf (fp, "%s: ", cp);
fprintf (fp, "exit %d\n", signum);
}
fprintf (fp, "%s: ", cp);
fprintf (fp, "exit %d\n", signum);
}
/* If child process terminated due to receipt of a signal */
signum = WTERMSIG(status);
if (signum != SIGINT) {
if (cp)
fprintf (fp, "%s: ", cp);
fprintf (fp, "signal %d", signum);
/* If child process terminated due to receipt of a signal */
signum = WTERMSIG(status);
if (signum != SIGINT) {
if (cp)
fprintf (fp, "%s: ", cp);
fprintf (fp, "signal %d", signum);
- if (signum >= 0 && signum < 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,
WCOREDUMP(status) ? ", core dumped" : "");
else
fprintf (fp, "%s\n", WCOREDUMP(status) ? " (core dumped)" : "");
WCOREDUMP(status) ? ", core dumped" : "");
else
fprintf (fp, "%s\n", WCOREDUMP(status) ? " (core dumped)" : "");