summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/asterisk/json.h5
-rw-r--r--main/asterisk.c2
-rw-r--r--main/json.c13
3 files changed, 8 insertions, 12 deletions
diff --git a/include/asterisk/json.h b/include/asterisk/json.h
index d287bd612..d8cf98ece 100644
--- a/include/asterisk/json.h
+++ b/include/asterisk/json.h
@@ -33,6 +33,11 @@
/*!@{*/
/*!
+ * \brief Initialize the JSON library.
+ */
+void ast_json_init(void);
+
+/*!
* \brief Set custom allocators instead of the standard ast_malloc() and ast_free().
* \since 12.0.0
*
diff --git a/main/asterisk.c b/main/asterisk.c
index 3a0e87c41..d7eb8d953 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -241,6 +241,7 @@ int daemon(int, int); /* defined in libresolv of all places */
#include "asterisk/uuid.h"
#include "asterisk/sorcery.h"
#include "asterisk/stasis.h"
+#include "asterisk/json.h"
#include "../defaults.h"
@@ -4070,6 +4071,7 @@ int main(int argc, char *argv[])
ast_el_read_history(filename);
}
+ ast_json_init();
ast_ulaw_init();
ast_alaw_init();
tdd_init();
diff --git a/main/json.c b/main/json.c
index f1ebaef60..b91707a8a 100644
--- a/main/json.c
+++ b/main/json.c
@@ -502,19 +502,8 @@ struct ast_json *ast_json_deep_copy(const struct ast_json *value)
return (struct ast_json *)json_deep_copy((json_t *)value);
}
-static int unload_module(void)
-{
- /* Nothing to do */
- return 0;
-}
-
-static int load_module(void)
+void ast_json_init(void)
{
/* Setup to use Asterisk custom allocators */
ast_json_reset_alloc_funcs();
- return AST_MODULE_LOAD_SUCCESS;
}
-
-AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS, "JSON library",
- .load = load_module,
- .unload = unload_module);