X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fsend.c;h=bf37600428734ca705075c1ea9dc71cc0e5c513d;hb=5babc068babfeb0c02075f550c9c3b156f44ed15;hp=76280aa6bd3e81fdae6d9b079c073abf11bc44ae;hpb=c7b5e1df086bcc37ff40163ee67571f076cf6683;p=mmh diff --git a/uip/send.c b/uip/send.c index 76280aa..bf37600 100644 --- a/uip/send.c +++ b/uip/send.c @@ -425,9 +425,7 @@ attach(char *draft_file_name) while (get_line() != EOF && *field && *field != '-') { if (strncasecmp(field, attach_hdr, length) == 0 && field[length] == ':') { - for (p = field+length+1; *p==' ' || *p=='\t'; p++) { - continue; - } + p = trim(field+length+1); if (*p == '+') { /* forwarded message */ fprintf(composition_file, "#forw [forwarded message(s)] %s\n", p); @@ -549,6 +547,7 @@ make_mime_composition_file_entry(char *file_name) char content_type[BUFSIZ]; char cmdbuf[BUFSIZ]; char *cmd = mimetypequeryproc; + int semicolon = 0; for (np = m_defs; np; np = np->n_next) { if (strcasecmp(np->n_name, mimetypequery)==0) { @@ -579,11 +578,23 @@ make_mime_composition_file_entry(char *file_name) adios(NULL, "unable to access file `%s'", file_name); } - cp = (!(cp = strrchr(file_name, '/'))) ? file_name : cp + 1; - fprintf(composition_file, "#%s; name=\"%s\" <> [%s] {attachment}", - content_type, cp, cp); + /* Check for broken file(1). See man page mh-profile(5). */ + for (cp=content_type; *cp; cp++) { + if (isspace(*cp)) { + if (!semicolon) { + adios(NULL, "Sorry, your Mime-Type-Query command (%s) is broken.\n\tThe output misses a semicolon before the whitespace.\n\tOutput was: %s", cmd, content_type); + } + } else if (*cp == ';') { + semicolon = 1; + } else { + semicolon = 0; + } + } - fprintf(composition_file, " %s\n", file_name); + cp = (!(cp = strrchr(file_name, '/'))) ? file_name : cp + 1; + fprintf(composition_file, + "#%s; name=\"%s\" <> [%s] {attachment} %s\n", + content_type, cp, cp, file_name); return; }