Replaced folder_exists() by a call to create_folder().
[mmh] / uip / repl.c
index dff8a9e..3c9e483 100644 (file)
@@ -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
@@ -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, 0);
+               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 */
@@ -762,7 +766,7 @@ insert(struct mailname *np)
 static void
 replfilter(FILE *in, FILE *out, char *filter)
 {
-       int pid;
+       int pid, n;
        char *errstr;
 
        if (filter == NULL)
@@ -781,7 +785,9 @@ 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("mhl", "mhl", "-form", filter, NULL);
                errstr = strerror(errno);