From: Rocco Rutte Date: Thu, 23 Jul 2009 14:40:45 +0000 (+0200) Subject: Move remove_from_rx_list() to muttlib.c, name it mutt_remove_from_rx_list() X-Git-Tag: neomutt-20160307~476 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=004c9d7515d77050c74dcc1309a1ba98acb193dc;p=neomutt Move remove_from_rx_list() to muttlib.c, name it mutt_remove_from_rx_list() --- diff --git a/init.c b/init.c index b623207d6..46a94e25c 100644 --- a/init.c +++ b/init.c @@ -599,42 +599,6 @@ static void remove_from_list (LIST **l, const char *str) } } -static int remove_from_rx_list (RX_LIST **l, const char *str) -{ - RX_LIST *p, *last = NULL; - int rv = -1; - - if (mutt_strcmp ("*", str) == 0) - { - mutt_free_rx_list (l); /* ``unCMD *'' means delete all current entries */ - rv = 0; - } - else - { - p = *l; - last = NULL; - while (p) - { - if (ascii_strcasecmp (str, p->rx->pattern) == 0) - { - mutt_free_regexp (&p->rx); - if (last) - last->next = p->next; - else - (*l) = p->next; - FREE (&p); - rv = 0; - } - else - { - last = p; - p = p->next; - } - } - } - return (rv); -} - static int parse_unignore (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err) { do @@ -700,7 +664,7 @@ static int parse_alternates (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER if (parse_group_context (&gc, buf, s, data, err) == -1) goto bail; - remove_from_rx_list (&UnAlternates, buf->data); + mutt_remove_from_rx_list (&UnAlternates, buf->data); if (mutt_add_to_rx_list (&Alternates, buf->data, REG_ICASE, err) != 0) goto bail; @@ -724,7 +688,7 @@ static int parse_unalternates (BUFFER *buf, BUFFER *s, unsigned long data, BUFFE do { mutt_extract_token (buf, s, 0); - remove_from_rx_list (&Alternates, buf->data); + mutt_remove_from_rx_list (&Alternates, buf->data); if (mutt_strcmp (buf->data, "*") && mutt_add_to_rx_list (&UnAlternates, buf->data, REG_ICASE, err) != 0) @@ -774,7 +738,7 @@ static int parse_spam_list (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER * /* If not, try to remove from the nospam list. */ else { - remove_from_rx_list(&NoSpamList, buf->data); + mutt_remove_from_rx_list(&NoSpamList, buf->data); } return 0; @@ -841,7 +805,7 @@ static int parse_lists (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err) if (parse_group_context (&gc, buf, s, data, err) == -1) goto bail; - remove_from_rx_list (&UnMailLists, buf->data); + mutt_remove_from_rx_list (&UnMailLists, buf->data); if (mutt_add_to_rx_list (&MailLists, buf->data, REG_ICASE, err) != 0) goto bail; @@ -1193,8 +1157,8 @@ static int parse_unlists (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *er do { mutt_extract_token (buf, s, 0); - remove_from_rx_list (&SubscribedLists, buf->data); - remove_from_rx_list (&MailLists, buf->data); + mutt_remove_from_rx_list (&SubscribedLists, buf->data); + mutt_remove_from_rx_list (&MailLists, buf->data); if (mutt_strcmp (buf->data, "*") && mutt_add_to_rx_list (&UnMailLists, buf->data, REG_ICASE, err) != 0) @@ -1216,8 +1180,8 @@ static int parse_subscribe (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER * if (parse_group_context (&gc, buf, s, data, err) == -1) goto bail; - remove_from_rx_list (&UnMailLists, buf->data); - remove_from_rx_list (&UnSubscribedLists, buf->data); + mutt_remove_from_rx_list (&UnMailLists, buf->data); + mutt_remove_from_rx_list (&UnSubscribedLists, buf->data); if (mutt_add_to_rx_list (&MailLists, buf->data, REG_ICASE, err) != 0) goto bail; @@ -1241,7 +1205,7 @@ static int parse_unsubscribe (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER do { mutt_extract_token (buf, s, 0); - remove_from_rx_list (&SubscribedLists, buf->data); + mutt_remove_from_rx_list (&SubscribedLists, buf->data); if (mutt_strcmp (buf->data, "*") && mutt_add_to_rx_list (&UnSubscribedLists, buf->data, REG_ICASE, err) != 0) diff --git a/mutt.h b/mutt.h index 0abf07e30..4d67cabb2 100644 --- a/mutt.h +++ b/mutt.h @@ -554,6 +554,7 @@ int mutt_matches_ignore (const char *, LIST *); LIST *mutt_add_list (LIST *, const char *); LIST *mutt_add_list_n (LIST*, const void *, size_t); LIST *mutt_find_list (LIST *, const char *); +int mutt_remove_from_rx_list (RX_LIST **l, const char *str); void mutt_init (int, LIST *); diff --git a/muttlib.c b/muttlib.c index dd5fa9881..3b9a140ae 100644 --- a/muttlib.c +++ b/muttlib.c @@ -267,6 +267,42 @@ LIST *mutt_find_list (LIST *l, const char *data) return NULL; } +int mutt_remove_from_rx_list (RX_LIST **l, const char *str) +{ + RX_LIST *p, *last = NULL; + int rv = -1; + + if (mutt_strcmp ("*", str) == 0) + { + mutt_free_rx_list (l); /* ``unCMD *'' means delete all current entries */ + rv = 0; + } + else + { + p = *l; + last = NULL; + while (p) + { + if (ascii_strcasecmp (str, p->rx->pattern) == 0) + { + mutt_free_regexp (&p->rx); + if (last) + last->next = p->next; + else + (*l) = p->next; + FREE (&p); + rv = 0; + } + else + { + last = p; + p = p->next; + } + } + } + return (rv); +} + void mutt_free_list (LIST **list) { LIST *p;