Index: apps/app_amd.c =================================================================== --- apps/app_amd.c (revision 89318) +++ apps/app_amd.c (working copy) @@ -317,7 +317,7 @@ return 0; } -static void load_config(int reload) +static int load_config(int reload) { struct ast_config *cfg = NULL; char *cat = NULL; @@ -326,9 +326,9 @@ if (!(cfg = ast_config_load("amd.conf", config_flags))) { ast_log(LOG_ERROR, "Configuration file amd.conf missing.\n"); - return; + return -1; } else if (cfg == CONFIG_STATUS_FILEUNCHANGED) - return; + return 0; cat = ast_category_browse(cfg, NULL); @@ -369,7 +369,7 @@ dfltInitialSilence, dfltGreeting, dfltAfterGreetingSilence, dfltTotalAnalysisTime, dfltMinimumWordLength, dfltBetweenWordsSilence, dfltMaximumNumberOfWords, dfltSilenceThreshold ); - return; + return 0; } static int unload_module(void) @@ -379,14 +379,18 @@ static int load_module(void) { - load_config(0); - return ast_register_application(app, amd_exec, synopsis, descrip); + if (load_config(0)) + return AST_MODULE_LOAD_DECLINE; + if (ast_register_application(app, amd_exec, synopsis, descrip)) + return AST_MODULE_LOAD_FAILURE; + return AST_MODULE_LOAD_SUCCESS; } static int reload(void) { - load_config(1); - return 0; + if (load_config(1)) + return AST_MODULE_LOAD_DECLINE; + return AST_MODULE_LOAD_SUCCESS; } AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "Answering Machine Detection Application",