diff options
author | Matt O'Gorman <mogorman@digium.com> | 2006-08-31 21:00:20 +0000 |
---|---|---|
committer | Matt O'Gorman <mogorman@digium.com> | 2006-08-31 21:00:20 +0000 |
commit | 05a695af721cb8002f3d462c6952f45f0e9c5d9e (patch) | |
tree | 5eac7fd790352b502dbbc4fc21ae517fe7c388ad /pbx | |
parent | f2b836ff4f9f34c48f36b9aca18c633834dc0ace (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: https://origsvn.digium.com/svn/asterisk/trunk@41633 65c4cc65-6c06-0410-ace0-fbb531ad65f3
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); |