X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/9a69af8582a7268e45383d1b518c38000db5bf8e..521674623:/sbr/pidstatus.c?ds=inline diff --git a/sbr/pidstatus.c b/sbr/pidstatus.c index b7aad798..1c1f7348 100644 --- a/sbr/pidstatus.c +++ b/sbr/pidstatus.c @@ -7,7 +7,6 @@ * complete copyright information. */ -#include #include /* @@ -23,6 +22,14 @@ # define WCOREDUMP(s) ((s) & 0x80) #endif +/* + * Return 0 if the command exited with an exit code of zero, a nonzero code + * otherwise. + * + * Print out an appropriate status message we didn't exit with an exit code + * of zero. + */ + int pidstatus (int status, FILE *fp, char *cp) { @@ -43,6 +50,7 @@ pidstatus (int status, FILE *fp, char *cp) fprintf (fp, "%s: ", cp); fprintf (fp, "exit %d\n", signum); } + return signum; } else if (WIFSIGNALED(status)) { /* If child process terminated due to receipt of a signal */ signum = WTERMSIG(status); @@ -50,7 +58,8 @@ pidstatus (int status, FILE *fp, char *cp) if (cp) fprintf (fp, "%s: ", cp); fprintf (fp, "signal %d", signum); - if (signum >= 0 && signum < sizeof(sigmsg) && sigmsg[signum] != NULL) + if (signum >= 0 && signum < (int) sizeof(sigmsg) && + sigmsg[signum] != NULL) fprintf (fp, " (%s%s)\n", sigmsg[signum], WCOREDUMP(status) ? ", core dumped" : ""); else