diff --git a/codecs/codec_speex.c b/codecs/codec_speex.c index 3c65ee51b19adb39c6ede3941962dfa1cfbc7567..a0a80959e7a411b3cb3c0c5bef9c6805cece43ef 100644 --- a/codecs/codec_speex.c +++ b/codecs/codec_speex.c @@ -603,39 +603,37 @@ static int reload(void) static int unload_module(void) { - int res = 0; - - res |= ast_unregister_translator(&speextolin); - res |= ast_unregister_translator(&lintospeex); - res |= ast_unregister_translator(&speexwbtolin16); - res |= ast_unregister_translator(&lin16tospeexwb); - res |= ast_unregister_translator(&speexuwbtolin32); - res |= ast_unregister_translator(&lin32tospeexuwb); + ast_unregister_translator(&speextolin); + ast_unregister_translator(&lintospeex); + ast_unregister_translator(&speexwbtolin16); + ast_unregister_translator(&lin16tospeexwb); + ast_unregister_translator(&speexuwbtolin32); + ast_unregister_translator(&lin32tospeexuwb); - - return res; + return 0; } static int load_module(void) { int res = 0; - if (parse_config(0)) + if (parse_config(0)) { return AST_MODULE_LOAD_DECLINE; + } + /* XXX It is most likely a bug in this module if we fail to register a translator */ res |= ast_register_translator(&speextolin); res |= ast_register_translator(&lintospeex); res |= ast_register_translator(&speexwbtolin16); res |= ast_register_translator(&lin16tospeexwb); res |= ast_register_translator(&speexuwbtolin32); res |= ast_register_translator(&lin32tospeexuwb); - if (res) { unload_module(); - return res; + return AST_MODULE_LOAD_DECLINE; } - return res; + return AST_MODULE_LOAD_SUCCESS; } AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "Speex Coder/Decoder",