X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fsend.c;h=bab1699773f585d4e472e7b2139f65ec1ac1be16;hp=ec9b76db4ca6bba70cecd4eb09c63b6607a7f534;hb=5b389106e9bfb05edbbcbdc847e09437f2390da0;hpb=7d95e0861814febe23512e306b7b1e805c17bd81 diff --git a/uip/send.c b/uip/send.c index ec9b76d..bab1699 100644 --- a/uip/send.c +++ b/uip/send.c @@ -320,13 +320,26 @@ sendsbr(char **vec, int vecp, char *drft, struct stat *st) } static int +contains_non_ascii(char *str) +{ + char *cp; + + for (cp = str; *cp; cp++) { + if (*cp > 127 || *cp < 0) { + return 1; + } + } + return 0; +} + +static int attach(char *draft_file_name) { char buf[MAXPATHLEN + 6]; int c; int has_attachment; - int has_body; - int non_ascii; /* msg body contains non-ASCII chars */ + int has_body = 0; + int non_ascii = 0; /* msg body or hdr contains non-ASCII chars */ int length; /* length of attachment header field name */ char *p; @@ -347,6 +360,9 @@ attach(char *draft_file_name) field[length] == ':') { has_attachment = 1; } + if (contains_non_ascii(field)) { + non_ascii = 1; + } } /* @@ -355,16 +371,14 @@ attach(char *draft_file_name) ** Check if body contains at least one non-blank (= not empty) ** and if it contains any non-ASCII chars (= need MIME). */ - has_body = 0; - non_ascii = 0; while (get_line() != EOF) { - for (p = field; *p != '\0'; p++) { - if (*p != ' ' && *p != '\t') { + if (contains_non_ascii(field)) { + non_ascii = 1; + } + for (p = field; *p; p++) { + if (isgraph(*p)) { has_body = 1; } - if (*p > 127 || *p < 0) { - non_ascii = 1; - } } if (has_body && non_ascii) { break; /* that's been already enough information */