X-Git-Url: http://git.madism.org/?a=blobdiff_plain;ds=sidebyside;f=lib-mime%2Frfc822parse.c;h=b1f6aef26e3ee27a0618a8faa27539fa79f26f48;hb=928ca0d87eb15bfa4c150abdadadaf3b177f95bd;hp=e399bb7e4e61084dab62dd8cdad9bd910cc2bf70;hpb=230399f9632c37b66c1c117a17e8327eae6b3235;p=apps%2Fmadmutt.git diff --git a/lib-mime/rfc822parse.c b/lib-mime/rfc822parse.c index e399bb7..b1f6aef 100644 --- a/lib-mime/rfc822parse.c +++ b/lib-mime/rfc822parse.c @@ -26,12 +26,6 @@ * please see the file GPL in the top level source directory. */ -#if HAVE_CONFIG_H -# include "config.h" -#endif - -#include - #include #include "recvattach.h" @@ -806,7 +800,7 @@ string_list_t **mutt_parse_rfc822_line(ENVELOPE *e, HEADER *hdr, char *line, cha case MIME_LIST_POST: /* RFC 2369. FIXME: We should ignore whitespace, but don't. */ - if (strncmp(p, "NO", 2)) { + if (m_strncmp(p, "NO", 2)) { char *beg, *end; for (beg = strchr (p, '<'); beg; beg = strchr (end, ',')) { @@ -1050,29 +1044,25 @@ mutt_read_rfc822_header(FILE *f, HEADER *hdr, short user_hdrs, short weed) break; /* end of header */ } - if (mutt_match_spam_list(line, SpamList, buf, sizeof(buf))) { - if (!rx_list_match(NoSpamList, line)) { - /* if spam tag already exists, figure out how to amend it */ - if (e->spam && *buf) { - if (SpamSep) { - /* If SpamSep defined, append with separator */ - mutt_buffer_addstr(e->spam, SpamSep); - mutt_buffer_addstr(e->spam, buf); - } else { - /* else overwrite */ - mutt_buffer_reset(e->spam); - mutt_buffer_addstr(e->spam, buf); - } - } - else if (!e->spam && *buf) { - /* spam tag is new, and match expr is non-empty; copy */ - e->spam = mutt_buffer_from(NULL, buf); - } - else if (!e->spam) { - /* match expr is empty; plug in null string if no existing tag */ - e->spam = mutt_buffer_from(NULL, ""); + if (rx_list_match2(SpamList, line, buf, sizeof(buf)) + && !rx_list_match(NoSpamList, line)) + { + /* if spam tag already exists, figure out how to amend it */ + if (e->spam && *buf) { + if (SpamSep) { + /* If SpamSep defined, append with separator */ + mutt_buffer_addstr(e->spam, SpamSep); + mutt_buffer_addstr(e->spam, buf); + } else { + /* else overwrite */ + mutt_buffer_reset(e->spam); + mutt_buffer_addstr(e->spam, buf); } } + + if (!e->spam) { + e->spam = mutt_buffer_from(NULL, buf); + } } *p++ = '\0';