X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fsend.c;h=e63074caac7cefcc357a0474a7fab20bf487563f;hb=ca9795df89c225393b48e47ea252496167893414;hp=76280aa6bd3e81fdae6d9b079c073abf11bc44ae;hpb=c7b5e1df086bcc37ff40163ee67571f076cf6683;p=mmh diff --git a/uip/send.c b/uip/send.c index 76280aa..e63074c 100644 --- a/uip/send.c +++ b/uip/send.c @@ -549,6 +549,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 +580,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; }