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/pbx_config.c | |
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/pbx_config.c')
-rw-r--r-- | pbx/pbx_config.c | 10 |
1 files changed, 6 insertions, 4 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); |