Nobody can possibly be using this program, but even so, don't ignore
return values. Unfortunately, the return value of system() is a bit
complicated to interpret.
Change-Id: I6edbbb7c010b4e534de9033b91849e2d54bf4b25
Reviewed-on: http://gerrit.openafs.org/7778
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
#include <roken.h>
#include <afs/afsutil.h>
+#ifdef HAVE_SYS_WAIT_H
+#include <sys/wait.h>
+#endif
/*
* XXX CHANGE the following depedent stuff XXX
*/
sprintf(bufp1, "%s %s -s TESTING < %s", SENDMAIL, RECIPIENT, buf);
code = system(bufp1);
+ if (code == -1)
+ perror("system");
+ else if (code == 127)
+ fprintf(stderr, "system: unable to execute shell\n");
+#ifdef WTERMSIG
+ else if (WIFSIGNALED(code))
+ fprintf(stderr, "%s terminated with signal %d\n", SENDMAIL,
+ WTERMSIG(code));
+ else if (WEXITSTATUS(code) != 0)
+ fprintf(stderr, "%s exited with status %d\n", SENDMAIL,
+ WEXITSTATUS(code));
+#endif /* WTERMSIG */
unlink(buf);
exit(0);
}