projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update lists of files to distribute
[mmh]
/
uip
/
send.c
diff --git
a/uip/send.c
b/uip/send.c
index
ec9b76d
..
bab1699
100644
(file)
--- a/
uip/send.c
+++ b/
uip/send.c
@@
-320,13
+320,26
@@
sendsbr(char **vec, int vecp, char *drft, struct stat *st)
}
static int
}
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;
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;
int length; /* length of attachment header field name */
char *p;
@@
-347,6
+360,9
@@
attach(char *draft_file_name)
field[length] == ':') {
has_attachment = 1;
}
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).
*/
** 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) {
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;
}
has_body = 1;
}
- if (*p > 127 || *p < 0) {
- non_ascii = 1;
- }
}
if (has_body && non_ascii) {
break; /* that's been already enough information */
}
if (has_body && non_ascii) {
break; /* that's been already enough information */