mutt_regexlist_free(&UnMailLists);
mutt_regexlist_free(&UnSubscribedLists);
- mutt_hash_destroy(&Groups);
mutt_hash_destroy(&ReverseAliases);
mutt_hash_destroy(&TagFormats);
mutt_hash_destroy(&TagTransforms);
err.data = mutt_mem_malloc(err.dsize);
err.dptr = err.data;
- Groups = mutt_hash_new(1031, 0);
/* reverse alias keys need to be strdup'ed because of idna conversions */
ReverseAliases = mutt_hash_new(1031, MUTT_HASH_STRCASECMP | MUTT_HASH_STRDUP_KEYS |
MUTT_HASH_ALLOW_DUPS);
#include "regex3.h"
#include "string2.h"
-struct Hash *Groups;
+static struct Hash *groups(void)
+{
+ static struct Hash *g = NULL;
+ if (g == NULL)
+ {
+ g = mutt_hash_new(1031, 0);
+ }
+ return g;
+}
/**
* mutt_pattern_group - Match a pattern to a Group
if (!k)
return 0;
- p = mutt_hash_find(Groups, k);
+ p = mutt_hash_find(groups(), k);
if (!p)
{
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);
+ mutt_hash_insert(groups(), p->name, p);
}
return p;
{
if (!g)
return;
- mutt_hash_delete(Groups, g->name, g);
+ mutt_hash_delete(groups(), g->name, g);
mutt_addr_free(&g->as);
mutt_regexlist_free(&g->rs);
FREE(&g->name);