Removed unused parameter of replout().
[mmh] / uip / repl.c
index 469bdd9..af147a1 100644 (file)
@@ -101,7 +101,7 @@ static int dftype=0;
 static char *badaddrs = NULL;
 static char *dfhost = NULL;
 
-static struct mailname mq = { NULL };
+static struct mailname mq;
 
 static struct format *fmt;
 
@@ -133,7 +133,7 @@ static char *addrcomps[] = {
 static void docc(char *, int);
 static int insert(struct mailname *);
 static void replfilter(FILE *, FILE *, char *);
-static void replout(FILE *, char *, char *, struct msgs *, int,
+static void replout(FILE *, char *, struct msgs *, int,
                char *, char *);
 
 
@@ -149,12 +149,12 @@ main(int argc, char **argv)
        struct msgs *mp = NULL;
        FILE *in;
 
-       filter = getcpy(etcpath(mhlreply));
-
 #ifdef MHE
        int buildsw = 0;
 #endif /* MHE */
 
+       filter = getcpy(etcpath(mhlreply));
+
 #ifdef LOCALE
        setlocale(LC_ALL, "");
 #endif
@@ -360,7 +360,7 @@ main(int argc, char **argv)
                        form = etcpath(replcomps);
        }
 
-       replout(in, msg, drft, mp, mime, form, filter);
+       replout(in, drft, mp, mime, form, filter);
        fclose(in);
 
        if (nwhat)
@@ -403,7 +403,7 @@ docc(char *cp, int ccflag)
 
 
 static void
-replout(FILE *inb, char *msg, char *drft, struct msgs *mp,
+replout(FILE *inb, char *drft, struct msgs *mp,
        int mime, char *form, char *filter)
 {
        register int state, i;
@@ -594,9 +594,13 @@ finished:
                /* add an attachment header */
                char buffer[BUFSIZ];
 
-               snprintf(buffer, sizeof buffer, "+%s %s",
-                               mp->foldpath, m_name(mp->lowsel));
-               annotate(drft, attach_hdr, buffer, 0, -2, 1);
+               snprintf(buffer, sizeof buffer, "anno -append -nodate '%s' "
+                               "-comp '%s' -text '+%s %s'",
+                               drft,
+                               attach_hdr, mp->foldpath, m_name(mp->lowsel));
+               if (system(buffer) != 0) {
+                       advise(NULL, "unable to add attachment header");
+               }
        }
 
        /* return dynamically allocated buffers */
@@ -741,30 +745,22 @@ insert(struct mailname *np)
                snprintf(buffer, sizeof(buffer), "Reply to %s? ",
                                adrformat(np));
                if (!gans(buffer, anoyes))
-               return 0;
+                       return 0;
        }
        mp->m_next = np;
-
-#ifdef ISI
-       if (ismymbox(np))
-               ccme = 0;
-#endif
-
        return 1;
 }
 
 
 /*
-** 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;
+       int pid, n;
        char *errstr;
 
        if (filter == NULL)
@@ -773,8 +769,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);
 
@@ -785,19 +779,19 @@ replfilter(FILE *in, FILE *out, char *filter)
        case OK:
                dup2(fileno(in), fileno(stdin));
                dup2(fileno(out), fileno(stdout));
-               closefds(3);
+               for (n=3; n<OPEN_MAX; n++) {
+                       close(n);
+               }
 
-               execlp(mhlproc, mhl, "-form", filter, 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;