From ea3fb96b29fe937b1e82a61ad03e77e8a50a62fd Mon Sep 17 00:00:00 2001 From: Russell Bryant <russell@russellbryant.com> Date: Tue, 13 May 2008 17:42:17 +0000 Subject: [PATCH] Re-introduce proper error handling that was removed in recent commits. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115850 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_jack.c | 12 ++++++++---- apps/app_skel.c | 3 ++- funcs/func_speex.c | 12 ++++++++---- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/apps/app_jack.c b/apps/app_jack.c index 2aa253f9b8..1b5f4e7382 100644 --- a/apps/app_jack.c +++ b/apps/app_jack.c @@ -977,12 +977,16 @@ static int unload_module(void) static int load_module(void) { - int res = 0; + if (ast_register_application(jack_app, jack_exec, jack_synopsis, jack_desc)) { + return AST_MODULE_LOAD_DECLINE; + } - res |= ast_register_application(jack_app, jack_exec, jack_synopsis, jack_desc); - res |= ast_custom_function_register(&jack_hook_function); + if (ast_custom_function_register(&jack_hook_function)) { + ast_unregister_application(jack_app); + return AST_MODULE_LOAD_DECLINE; + } - return res; + return AST_MODULE_LOAD_SUCCESS; } AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "JACK Interface"); diff --git a/apps/app_skel.c b/apps/app_skel.c index 061f1e87cf..588563d2fa 100644 --- a/apps/app_skel.c +++ b/apps/app_skel.c @@ -114,7 +114,8 @@ static int unload_module(void) static int load_module(void) { - return ast_register_application(app, app_exec, synopsis, descrip); + return ast_register_application(app, app_exec, synopsis, descrip) ? + AST_MODULE_LOAD_DECLINE : AST_MODULE_LOAD_SUCCESS; } AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Skeleton (sample) Application"); diff --git a/funcs/func_speex.c b/funcs/func_speex.c index f4d5fe412e..fc4eb8e3ec 100644 --- a/funcs/func_speex.c +++ b/funcs/func_speex.c @@ -336,12 +336,16 @@ static int unload_module(void) static int load_module(void) { - int res = 0; + if (ast_custom_function_register(&agc_function)) { + return AST_MODULE_LOAD_DECLINE; + } - res |= ast_custom_function_register(&agc_function); - res |= ast_custom_function_register(&denoise_function); + if (ast_custom_function_register(&denoise_function)) { + ast_custom_function_unregister(&agc_function); + return AST_MODULE_LOAD_DECLINE; + } - return res; + return AST_MODULE_LOAD_SUCCESS; } AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Noise reduction and Automatic Gain Control (AGC)"); -- GitLab