diff --git a/include/asterisk/json.h b/include/asterisk/json.h index d287bd6123..d8cf98ece1 100644 --- a/include/asterisk/json.h +++ b/include/asterisk/json.h @@ -32,6 +32,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 3a0e87c412..d7eb8d9534 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 f1ebaef60c..b91707a8a6 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);