X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fsendsbr.c;h=3eff75d97f803cba60fea318a43a26ac2649d390;hb=025bb212470ef2945c9b7f57cb7fbfceb3e04e2c;hp=09126c2288b3fd2356cbb77379fc64260df64f78;hpb=ca34fbd0a5204d47ad019f64ef03d21ebd3397fd;p=mmh diff --git a/uip/sendsbr.c b/uip/sendsbr.c index 09126c2..3eff75d 100644 --- a/uip/sendsbr.c +++ b/uip/sendsbr.c @@ -192,6 +192,7 @@ attach(char *attachment_header_field_name, char *draft_file_name, int has_body; /* draft has a message body */ int length; /* length of attachment header field name */ char *p; /* miscellaneous string pointer */ + FILE *fp; /* pointer for mhn.defaults */ /* * Open up the draft file. @@ -301,6 +302,11 @@ attach(char *attachment_header_field_name, char *draft_file_name, * that specify attachments. Add a mhbuild MIME composition file for each. */ + if ((fp = fopen (p = etcpath ("mhn.defaults"), "r"))) { + readconfig ((struct node **) NULL, fp, p, 0); + fclose(fp); + } + rewind(draft_file); while (get_line() != EOF && *field != '\0' && *field != '-') { @@ -496,10 +502,12 @@ make_mime_composition_file_entry(char *file_name, int attachformat) } else { /* Suppress Content-Id, insert simple Content-Disposition and Content-Description with filename. */ + p = strrchr(file_name, '/'); (void) fprintf (composition_file, - "#%1$s; name=\"%2$s\" <> [%2$s]{attachment}", + "#%s; name=\"%s\" <> [%s]{attachment}", content_type, - ((p = strrchr(file_name, '/')) == (char *)0) ? file_name : p + 1); + (p == (char *)0) ? file_name : p + 1, + (p == (char *)0) ? file_name : p + 1); } break; @@ -513,10 +521,12 @@ make_mime_composition_file_entry(char *file_name, int attachformat) } else { /* Suppress Content-Id, insert Content-Disposition with modification date and Content-Description wtih filename. */ + p = strrchr(file_name, '/'); (void) fprintf (composition_file, - "#%1$s; name=\"%2$s\" <>[%2$s]{attachment; modification-date=\"%3$s\"}", + "#%s; name=\"%s\" <>[%s]{attachment; modification-date=\"%s\"}", content_type, - ((p = strrchr(file_name, '/')) == (char *)0) ? file_name : p + 1, + (p == (char *)0) ? file_name : p + 1, + (p == (char *)0) ? file_name : p + 1, dtime (&st.st_mtime, 0)); } @@ -669,7 +679,7 @@ splitmsg (char **vec, int vecp, char *drft, struct stat *st, int delay) time (&clock); snprintf (msgid, sizeof(msgid), "<%d.%ld@%s>", - (int) getpid(), (long) clock, LocalName()); + (int) getpid(), (long) clock, LocalName(1)); fseek (in, start, SEEK_SET); for (partno = 1; partno <= nparts; partno++) { @@ -771,11 +781,10 @@ splitmsg (char **vec, int vecp, char *drft, struct stat *st, int delay) */ static int -sendaux (char **vec, int vecp, char *volatile drft, struct stat *st) +sendaux (char **vec, int vecp, char *drft, struct stat *st) { pid_t child_id; - int i, status; - volatile int fd, fd2; + int i, status, fd, fd2; char backup[BUFSIZ], buf[BUFSIZ]; fd = pushsw ? tmp_fd () : NOTOK;