Removed the mhlproc profile entry. Call mhl directly.
[mmh] / uip / repl.c
index 299185d..dff8a9e 100644 (file)
@@ -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;