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, ',')) {
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';