From: Pierre Habouzit Date: Sun, 3 Dec 2006 14:52:26 +0000 (+0100) Subject: small reorg. X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=commitdiff_plain;h=926c11d6cc2cf92ec20792edaef2608d3f3b198b small reorg. Signed-off-by: Pierre Habouzit --- diff --git a/copy.c b/copy.c index 55a3f4f..bf080fd 100644 --- a/copy.c +++ b/copy.c @@ -163,8 +163,8 @@ mutt_copy_hdr (FILE* in, FILE* out, off_t off_start, off_t off_end, /* note: CH_FROM takes precedence over header weeding. */ if (!((flags & CH_FROM) && (flags & CH_FORCE_FROM) && this_is_from) && (flags & CH_WEED) && - mutt_matches_ignore (buf, Ignore) && - !mutt_matches_ignore (buf, UnIgnore)) + string_list_contains(Ignore, buf, "*") && + !string_list_contains(UnIgnore, buf, "*")) continue; if ((flags & CH_WEED_DELIVERED) && ascii_strncasecmp ("Delivered-To:", buf, 13) == 0) diff --git a/lib-lib/list.c b/lib-lib/list.c index c2c4f77..25a6125 100644 --- a/lib-lib/list.c +++ b/lib-lib/list.c @@ -37,6 +37,18 @@ string_list_t *string_list_dup(const string_list_t *p) { return res; } +int string_list_contains(const string_list_t *t, const char *s, const char *any) +{ + while (t) { + if (!ascii_strncasecmp(s, t->data, m_strlen(t->data)) + || (any && !ascii_strcasecmp(t->data, any))) + return 1; + t = t->next; + } + return 0; +} + + /* FIXME: b0rken API's, replace that at any cost */ string_list_t *mutt_add_list_n(string_list_t *head, const void *data, size_t len) { string_list_t *tmp; diff --git a/lib-lib/list.h b/lib-lib/list.h index b1b612e..bba82b1 100644 --- a/lib-lib/list.h +++ b/lib-lib/list.h @@ -79,6 +79,7 @@ DO_DELETE(string_list_t, string_item); DO_SLIST(string_list_t, string, string_item_delete); string_list_t *string_list_dup(const string_list_t *); +int string_list_contains(const string_list_t *, const char *, const char *); /* FIXME: b0rken API's, replace that at any cost */ /* add an element to a list */ diff --git a/lib-mime/rfc822parse.c b/lib-mime/rfc822parse.c index 6aaae2f..0b67479 100644 --- a/lib-mime/rfc822parse.c +++ b/lib-mime/rfc822parse.c @@ -957,8 +957,8 @@ string_list_t **mutt_parse_rfc822_line(ENVELOPE *e, HEADER *hdr, char *line, cha /* restore the original line */ line[m_strlen(line)] = ':'; - if (weed && mutt_matches_ignore(line, Ignore) - && !mutt_matches_ignore(line, UnIgnore)) { + if (weed && string_list_contains(Ignore, line, "*") + && !string_list_contains(UnIgnore, line, "*")) { break; } diff --git a/mutt.h b/mutt.h index 520c4c9..34dff23 100644 --- a/mutt.h +++ b/mutt.h @@ -447,8 +447,6 @@ enum { #define toggle_option(x) mutt_bit_toggle(Options,x) #define option(x) mutt_bit_isset(Options,x) -int mutt_matches_ignore (const char *, string_list_t *); - void mutt_init (int, string_list_t *); typedef struct thread { diff --git a/muttlib.c b/muttlib.c index 5608e34..57fabf3 100644 --- a/muttlib.c +++ b/muttlib.c @@ -13,22 +13,16 @@ #include #include -#include #include #include #include -#include +#include #include "alias.h" #include "mutt.h" #include "attach.h" - #include "version.h" -#include - -#include - /* Modified by blong to accept a "suggestion" for file name. If * that file exists, then construct one with unique name but * keep any extension. This might fail, I guess. @@ -48,15 +42,15 @@ void mutt_adv_mktemp (const char* dir, char *s, ssize_t l) } } -/* returns true if the header contained in "s" is in list "t" */ -int mutt_matches_ignore (const char *s, string_list_t * t) +void mutt_mktemp(char *s) { - for (; t; t = t->next) { - if (!ascii_strncasecmp (s, t->data, m_strlen(t->data)) - || *t->data == '*') - return 1; - } - return 0; + int fd = m_tempfd(s, _POSIX_PATH_MAX, NONULL(Tempdir), NULL); + if (fd < 0) { + *s = '\0'; + } else { + close(fd); + unlink(s); + } } ssize_t _mutt_expand_path(char *s, ssize_t slen, int rx) @@ -168,17 +162,6 @@ ssize_t _mutt_expand_path(char *s, ssize_t slen, int rx) return m_strcpy(s, slen, tmp); } -void mutt_mktemp(char *s) -{ - int fd = m_tempfd(s, _POSIX_PATH_MAX, NONULL(Tempdir), NULL); - if (fd < 0) { - *s = '\0'; - } else { - close(fd); - unlink(s); - } -} - /* collapse the pathname using ~ or = when possible */ void mutt_pretty_mailbox (char *s) {