summaryrefslogtreecommitdiff
path: root/libmailutils/locus/ident.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmailutils/locus/ident.c')
-rw-r--r--libmailutils/locus/ident.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/libmailutils/locus/ident.c b/libmailutils/locus/ident.c
index a51276e60..97a4935bc 100644
--- a/libmailutils/locus/ident.c
+++ b/libmailutils/locus/ident.c
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 2017-2019 Free Software Foundation, Inc.
+ Copyright (C) 2017-2024 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -26,6 +26,7 @@
#include <mailutils/io.h>
#include <mailutils/stream.h>
#include <mailutils/iterator.h>
+#include <mailutils/util.h>
struct mu_ident_ref
{
@@ -34,6 +35,12 @@ struct mu_ident_ref
static mu_assoc_t nametab;
+static void
+nametab_dealloc (void *ptr)
+{
+ mu_assoc_destroy (&nametab);
+}
+
int
mu_ident_ref (char const *name, char const **refname)
{
@@ -57,6 +64,7 @@ mu_ident_ref (char const *name, char const **refname)
return rc;
}
mu_assoc_set_destroy_item (nametab, mu_list_free_item);
+ mu_onexit (nametab_dealloc, NULL);
}
rc = mu_assoc_install_ref2 (nametab, name, &refptr, refname);
switch (rc)

Return to:

Send suggestions and report system problems to the System administrator.