diff options
Diffstat (limited to 'libmailutils/locus/ident.c')
-rw-r--r-- | libmailutils/locus/ident.c | 10 |
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) |