X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Frepl.c;h=af147a12a5a1f375032a70732e47a21c5b34739f;hb=ecb956c6724be7422b2d512dd6492f3cf3b8451a;hp=dff8a9eceaf72e37d29cca5cdf5bbf778a3fc34f;hpb=dfa0332c4e6144699dedd5c9795219adc0f9c0d2;p=mmh diff --git a/uip/repl.c b/uip/repl.c index dff8a9e..af147a1 100644 --- a/uip/repl.c +++ b/uip/repl.c @@ -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, 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 */ @@ -741,15 +745,9 @@ 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; } @@ -762,7 +760,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 +779,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