]> granicus.if.org Git - neomutt/commitdiff
fix Group's use of RegexList
authorRichard Russon <rich@flatcap.org>
Mon, 20 Aug 2018 09:52:12 +0000 (10:52 +0100)
committerRichard Russon <rich@flatcap.org>
Mon, 20 Aug 2018 09:52:12 +0000 (10:52 +0100)
group.c
group.h

diff --git a/group.c b/group.c
index 91c93be2f4b1f71f6431102784d0c5d7d9024320..29c310601e077ebc118b463ec8ebea72f78f8d21 100644 (file)
--- a/group.c
+++ b/group.c
@@ -49,6 +49,7 @@ struct Group *mutt_pattern_group(const char *k)
     mutt_debug(2, "Creating group %s.\n", k);
     p = mutt_mem_calloc(1, sizeof(struct Group));
     p->name = mutt_str_strdup(k);
+    STAILQ_INIT(&p->rs);
     mutt_hash_insert(Groups, p->name, p);
   }
 
@@ -65,7 +66,7 @@ static void group_remove(struct Group *g)
     return;
   mutt_hash_delete(Groups, g->name, g);
   mutt_addr_free(&g->as);
-  mutt_regexlist_free(g->rs);
+  mutt_regexlist_free(&g->rs);
   FREE(&g->name);
   FREE(&g);
 }
@@ -96,7 +97,7 @@ static bool empty_group(struct Group *g)
 {
   if (!g)
     return true;
-  return !g->as && !g->rs;
+  return !g->as && STAILQ_EMPTY(&g->rs);
 }
 
 /**
@@ -185,7 +186,7 @@ static int group_remove_addrlist(struct Group *g, struct Address *a)
  */
 static int group_add_regex(struct Group *g, const char *s, int flags, struct Buffer *err)
 {
-  return mutt_regexlist_add(g->rs, s, flags, err);
+  return mutt_regexlist_add(&g->rs, s, flags, err);
 }
 
 /**
@@ -197,7 +198,7 @@ static int group_add_regex(struct Group *g, const char *s, int flags, struct Buf
  */
 static int group_remove_regex(struct Group *g, const char *s)
 {
-  return mutt_regexlist_remove(g->rs, s);
+  return mutt_regexlist_remove(&g->rs, s);
 }
 
 /**
@@ -284,7 +285,7 @@ bool mutt_group_match(struct Group *g, const char *s)
   if (!g || !s)
     return false;
 
-  if (mutt_regexlist_match(g->rs, s))
+  if (mutt_regexlist_match(&g->rs, s))
     return true;
   for (struct Address *ap = g->as; ap; ap = ap->next)
     if (ap->mailbox && (mutt_str_strcasecmp(s, ap->mailbox) == 0))
diff --git a/group.h b/group.h
index caeb62bb694adc7b579ab0b417d3e1abe0dbf8c9..5be73f3a89c02a37ed0e926bafa0a60237ca7ffd 100644 (file)
--- a/group.h
+++ b/group.h
@@ -38,7 +38,7 @@ struct Buffer;
 struct Group
 {
   struct Address *as;
-  struct RegexList *rs;
+  struct RegexList rs;
   char *name;
 };