diff options
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; |