- if( status>>8 )
- printf("*** Error code %d", status>>8 );
- else printf("*** Termination code %d", status );
+ unsigned sig = status & 0177;
+ if( sig ) {
+ if (sig < NSIG && sys_siglist[sig] != NULL &&
+ *sys_siglist[sig] != '\0')
+ printf("*** %s", sys_siglist[sig]);
+ else
+ printf("*** Signal %d", sig);
+ if (status & 0200)
+ printf(" - core dumped");
+ } else
+ printf("*** Exit %d", status>>8 );