static int did_message = 0; /* set if we've already output a message */
if ((hook = context_find(hook_name)) == NULL)
- return (OK);
+ return OK;
switch (pid = fork()) {
case -1:
vec[vecp++] = NULL;
execvp(program, vec);
advise(program, "Unable to execute");
- _exit(-1);
+ _exit(1);
/* NOTREACHED */
default:
break;
}
- if (status != OK) {
- if (did_message == 0) {
- char *msghook;
- if ((msghook = context_find("msg-hook")) != NULL)
- inform("%s", msghook);
- else {
- char errbuf[BUFSIZ];
- snprintf(errbuf, sizeof(errbuf), "external hook \"%s\"", hook);
- pidstatus(status, stderr, errbuf);
- }
- did_message = 1;
- }
+ if (status == OK)
+ return OK;
- return (NOTOK);
- } else
- return (OK);
+ if (did_message == 0) {
+ char *msghook;
+ if ((msghook = context_find("msg-hook")) != NULL)
+ inform("%s", msghook);
+ else {
+ char errbuf[BUFSIZ];
+ snprintf(errbuf, sizeof(errbuf), "external hook \"%s\"", hook);
+ pidstatus(status, stderr, errbuf);
+ }
+ did_message = 1;
+ }
+
+ return NOTOK;
}