*/
#include <h/mh.h>
+#include <unistd.h>
+#include <stdarg.h>
+#include <sysexits.h>
int
{
pid_t pid;
- context_save();
fflush(stdout);
-
switch (pid = fork()) {
case -1:
/* fork error */
advise("fork", "unable to");
- return 1;
+ return -1;
case 0:
/* child */
execvp(cmd, arg);
fprintf(stderr, "unable to exec ");
perror(cmd);
- _exit(-1);
+ _exit(EX_OSERR);
default:
/* parent */
- return (pidwait(pid, -1) & 0377 ? 1 : 0);
+ return pidXwait(pid, cmd);
}
- return 1; /* NOT REACHED */
+ return -1; /* NOT REACHED */
}