From 79a592368d6fd35cf469421c60eb1bae5c47de20 Mon Sep 17 00:00:00 2001 From: Henri Manson Date: Sun, 19 Dec 2021 11:50:06 +0100 Subject: [PATCH] adding *and* removing com_err error tables --- lib/access/rules.rl | 7 ++++++- lib/identity/identity.rl | 13 ++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/access/rules.rl b/lib/access/rules.rl index 2661da3..e8871e3 100644 --- a/lib/access/rules.rl +++ b/lib/access/rules.rl @@ -417,10 +417,15 @@ static bool initialised = false; void rules_init (void) { if (!initialised) { - initialize_A2XS_error_table (); + add_error_table(&et_A2XS_error_table); initialised = true; } } void rules_fini (void) { + if (initialised) { + remove_error_table(&et_A2XS_error_table); + initialised = false; + } + } diff --git a/lib/identity/identity.rl b/lib/identity/identity.rl index fd13df9..c0823d5 100644 --- a/lib/identity/identity.rl +++ b/lib/identity/identity.rl @@ -537,20 +537,27 @@ static int _plustype (const char *p) { %% write data; - /* Initialise the ARPA2 Identity system. This has a * mirror image for cleaup in a2id_fini(). */ +static bool initialised = false; + void a2id_init (void) { - initialize_A2ID_error_table (); + if (!initialised) { + add_error_table(&et_A2ID_error_table); + initialised = true; + } } - /* Finalise the ARPA2 Identity system. This may do * cleanup operations. */ void a2id_fini (void) { a2id_dropkeys (); + if (initialised) { + remove_error_table(&et_A2ID_error_table); + initialised = false; + } } static bool a2id_parse_generic (a2id_t *out, const char *in, unsigned inlen, bool is_a2id) { -- GitLab