X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhmail.c;h=033c63498772b496f9245f07091a9761efefbb8a;hp=f9e7fcd8aed6259cf511e012850bd43f672f1aad;hb=3b91e463fc7a4db9e7b69e2e0f4f7909339beea5;hpb=9b4431bb9d1c74c2cd588afd79654a7bf5ce9064 diff --git a/uip/mhmail.c b/uip/mhmail.c index f9e7fcd..033c634 100644 --- a/uip/mhmail.c +++ b/uip/mhmail.c @@ -60,10 +60,9 @@ main(int argc, char **argv) if (context_foil(NULL) == -1) done(1); - /* If no arguments, just incorporate new mail */ + /* Without arguments, exit. */ if (argc == 1) { - execlp(incproc, mhbasename(incproc), NULL); - adios(incproc, "unable to exec"); + adios(NULL, "no interactive mail shell. Use inc/scan/show instead."); } arguments = getarguments(invo_name, argc, argv, 0); @@ -80,7 +79,7 @@ main(int argc, char **argv) case HELPSW: snprintf(buf, sizeof(buf), - "%s [addrs ... [switches]]", + "%s addrs... [switches]", invo_name); print_help(buf, switches, 0); done(1); @@ -165,7 +164,7 @@ main(int argc, char **argv) fclose(out); nvec = 0; - vec[nvec++] = mhbasename(postproc); + vec[nvec++] = "spost"; vec[nvec++] = tmpfil; if (resent) vec[nvec++] = "-dist"; @@ -173,15 +172,12 @@ main(int argc, char **argv) vec[nvec++] = "-queued"; vec[nvec] = NULL; - for (i = 0; (child_id = fork()) == NOTOK && i < 5; i++) - sleep(5); - - if (child_id == NOTOK) { + if ((child_id = fork()) == NOTOK) { /* report failure and then send it */ adios(NULL, "unable to fork"); } else if (child_id) { /* parent process */ - if ((status = pidXwait(child_id, postproc))) { + if ((status = pidXwait(child_id, *vec))) { fprintf(stderr, "Letter saved in dead.letter\n"); execl("/bin/mv", "mv", tmpfil, "dead.letter", NULL); execl("/usr/bin/mv", "mv", tmpfil, "dead.letter", @@ -193,9 +189,9 @@ main(int argc, char **argv) done(status ? 1 : 0); } else { /* child process */ - execvp(postproc, vec); + execvp(*vec, vec); fprintf(stderr, "unable to exec "); - perror(postproc); + perror(*vec); _exit(-1); }