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
/* 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 */
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)
if (access(filter, R_OK) == NOTOK)
adios(filter, "unable to read");
- mhl = mhbasename(mhlproc);
-
rewind(in);
lseek(fileno(in), (off_t) 0, SEEK_SET);
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, "-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;