diff options
author | Junio C Hamano <junkio@cox.net> | 2006-05-28 13:39:05 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-05-28 13:39:05 -0700 |
commit | d177e584255aad351bbbff14aba8e73afc008c75 (patch) | |
tree | 51ee631d0d4c908842396d0af0505bc5e74a345b /mailinfo.c | |
parent | 51937e533a39078a6d440b8a0b89bb491061c80b (diff) | |
parent | 81c5cf786581c82a8834726ffef26b7def96bf35 (diff) | |
download | git-d177e584255aad351bbbff14aba8e73afc008c75.tar.gz |
Merge branch 'jc/mailinfo'
* jc/mailinfo:
mailinfo: skip bogus UNIX From line inside body
Diffstat (limited to 'mailinfo.c')
-rw-r--r-- | mailinfo.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/mailinfo.c b/mailinfo.c index 88f9fbb198..5b6c2157ed 100644 --- a/mailinfo.c +++ b/mailinfo.c @@ -240,11 +240,18 @@ static int eatspace(char *line) #define SEEN_FROM 01 #define SEEN_DATE 02 #define SEEN_SUBJECT 04 -#define SEEN_PREFIX 0x08 +#define SEEN_BOGUS_UNIX_FROM 010 +#define SEEN_PREFIX 020 /* First lines of body can have From:, Date:, and Subject: */ static void handle_inbody_header(int *seen, char *line) { + if (!memcmp(">From", line, 5) && isspace(line[5])) { + if (!(*seen & SEEN_BOGUS_UNIX_FROM)) { + *seen |= SEEN_BOGUS_UNIX_FROM; + return; + } + } if (!memcmp("From:", line, 5) && isspace(line[5])) { if (!(*seen & SEEN_FROM) && handle_from(line+6)) { *seen |= SEEN_FROM; |