X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Frepl.c;h=dff8a9eceaf72e37d29cca5cdf5bbf778a3fc34f;hp=299185db0bdb84982e7a140b1c421fd15a293606;hb=dfa0332c4e6144699dedd5c9795219adc0f9c0d2;hpb=0ddc6c965ef307ff93f4fa642949d3130a700f9d diff --git a/uip/repl.c b/uip/repl.c index 299185d..dff8a9e 100644 --- a/uip/repl.c +++ b/uip/repl.c @@ -33,33 +33,31 @@ static struct swit switches[] = { { "noedit", 0 }, #define FILTSW 8 { "filter filterfile", 0 }, -#define FORMSW 9 +#define NFILTSW 9 + { "nofilter", 0 }, +#define FORMSW 10 { "form formfile", 0 }, -#define FRMTSW 10 - { "format", 5 }, -#define NFRMTSW 11 - { "noformat", 7 }, -#define MIMESW 12 +#define MIMESW 11 { "mime", 0 }, -#define NMIMESW 13 +#define NMIMESW 12 { "nomime", 0 }, -#define QURYSW 14 +#define QURYSW 13 { "query", 0 }, -#define NQURYSW 15 +#define NQURYSW 14 { "noquery", 0 }, -#define WHATSW 16 +#define WHATSW 15 { "whatnowproc program", 0 }, -#define NWHATSW 17 +#define NWHATSW 16 { "nowhatnowproc", 0 }, -#define VERSIONSW 18 +#define VERSIONSW 17 { "version", 0 }, -#define HELPSW 19 +#define HELPSW 18 { "help", 0 }, -#define FILESW 20 +#define FILESW 19 { "file file", 4 }, /* interface from msh */ #ifdef MHE -#define BILDSW 21 +#define BILDSW 20 { "build", 5 }, /* interface from mhe */ #endif @@ -151,6 +149,8 @@ main(int argc, char **argv) struct msgs *mp = NULL; FILE *in; + filter = getcpy(etcpath(mhlreply)); + #ifdef MHE int buildsw = 0; #endif /* MHE */ @@ -243,22 +243,19 @@ main(int argc, char **argv) argp[-2]); file = getcpy(expanddir(cp)); continue; - case FILTSW: - if (!(cp = *argp++) || *cp == '-') - adios(NULL, "missing argument to %s", - argp[-2]); - filter = getcpy(etcpath(cp)); - continue; case FORMSW: if (!(form = *argp++) || *form == '-') adios(NULL, "missing argument to %s", argp[-2]); continue; - case FRMTSW: - filter = getcpy(etcpath(mhlreply)); + case FILTSW: + if (!(cp = *argp++) || *cp == '-') + adios(NULL, "missing argument to %s", + argp[-2]); + filter = getcpy(etcpath(cp)); continue; - case NFRMTSW: + case NFILTSW: filter = NULL; continue; @@ -427,7 +424,7 @@ replout(FILE *inb, char *msg, char *drft, struct msgs *mp, umask(mask); /* get new format string */ - cp = new_fs(form, NULL, NULL); + cp = new_fs(form, NULL); format_len = strlen(cp); /* compile format string */ @@ -599,7 +596,7 @@ finished: snprintf(buffer, sizeof buffer, "+%s %s", mp->foldpath, m_name(mp->lowsel)); - annotate(drft, attach_hdr, buffer, 0, -2, 1); + annotate(drft, attach_hdr, buffer, 0, -2, 1, 0); } /* return dynamically allocated buffers */ @@ -758,16 +755,14 @@ insert(struct mailname *np) /* -** Call the mhlproc +** Call mhl ** ** This function expects that argument out has been fflushed by the caller. */ - static void replfilter(FILE *in, FILE *out, char *filter) { int pid; - char *mhl; char *errstr; if (filter == NULL) @@ -776,8 +771,6 @@ replfilter(FILE *in, FILE *out, char *filter) if (access(filter, R_OK) == NOTOK) adios(filter, "unable to read"); - mhl = mhbasename(mhlproc); - rewind(in); lseek(fileno(in), (off_t) 0, SEEK_SET); @@ -790,17 +783,15 @@ replfilter(FILE *in, FILE *out, char *filter) dup2(fileno(out), fileno(stdout)); closefds(3); - execlp(mhlproc, mhl, "-form", filter, "-noclear", NULL); + execlp("mhl", "mhl", "-form", filter, NULL); errstr = strerror(errno); - write(2, "unable to exec ", 15); - write(2, mhlproc, strlen(mhlproc)); - write(2, ": ", 2); + write(2, "unable to exec mhl: ", 20); write(2, errstr, strlen(errstr)); write(2, "\n", 1); _exit(-1); default: - if (pidXwait(pid, mhl)) + if (pidXwait(pid, "mhl")) done(1); fseek(out, 0L, SEEK_END); break;