diff options
author | mogorman <mogorman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-08-31 21:00:20 +0000 |
---|---|---|
committer | mogorman <mogorman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-08-31 21:00:20 +0000 |
commit | 73925ee14a02afb50f6c0aea3cc4e54f99493440 (patch) | |
tree | 5eac7fd790352b502dbbc4fc21ae517fe7c388ad /pbx | |
parent | 43c75db33e757e08cdec37b1713a0e275d9a039b (diff) |
everything that loads a config that needs a config file to run
now reports AST_MODULE_LOAD_DECLINE when loading if config file
is not there, also fixed an error in res_config_pgsql where it
had a non static function when it should.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41633 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'pbx')
-rw-r--r-- | pbx/pbx_config.c | 10 | ||||
-rw-r--r-- | pbx/pbx_dundi.c | 3 |
2 files changed, 8 insertions, 5 deletions
diff --git a/pbx/pbx_config.c b/pbx/pbx_config.c index dcfc4dcda..0689691f4 100644 --- a/pbx/pbx_config.c +++ b/pbx/pbx_config.c @@ -1336,7 +1336,7 @@ static int unload_module(void) return 0; } -static void pbx_load_config(const char *config_file) +static int pbx_load_config(const char *config_file) { struct ast_config *cfg; char *end; @@ -1349,7 +1349,7 @@ static void pbx_load_config(const char *config_file) cfg = ast_config_load(config_file); if (!cfg) - return; + return 0; /* Use existing config to populate the PBX table */ static_config = ast_true(ast_variable_retrieve(cfg, "general", "static")); @@ -1491,13 +1491,15 @@ static void pbx_load_config(const char *config_file) } } ast_config_destroy(cfg); + return 1; } static int pbx_load_module(void) { struct ast_context *con; - pbx_load_config(config); + if(!pbx_load_config(config)) + return AST_MODULE_LOAD_DECLINE; ast_merge_contexts_and_delete(&local_contexts, registrar); for (con = NULL; (con = ast_walk_contexts(con));) @@ -1511,7 +1513,7 @@ static int pbx_load_module(void) static int load_module(void) { if (pbx_load_module()) - return -1; + return AST_MODULE_LOAD_DECLINE; ast_cli_register(&context_remove_extension_cli); ast_cli_register(&context_dont_include_cli); diff --git a/pbx/pbx_dundi.c b/pbx/pbx_dundi.c index 190779c7c..338e77749 100644 --- a/pbx/pbx_dundi.c +++ b/pbx/pbx_dundi.c @@ -4488,7 +4488,8 @@ static int load_module(void) return -1; } - set_config("dundi.conf",&sin); + if(set_config("dundi.conf",&sin)) + return AST_MODULE_LOAD_DECLINE; netsocket = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP); |