aboutsummaryrefslogtreecommitdiffstats
path: root/pbx/pbx_config.c
diff options
context:
space:
mode:
authormogorman <mogorman@f38db490-d61c-443f-a65b-d21fe96a405b>2006-08-31 21:00:20 +0000
committermogorman <mogorman@f38db490-d61c-443f-a65b-d21fe96a405b>2006-08-31 21:00:20 +0000
commit73925ee14a02afb50f6c0aea3cc4e54f99493440 (patch)
tree5eac7fd790352b502dbbc4fc21ae517fe7c388ad /pbx/pbx_config.c
parent43c75db33e757e08cdec37b1713a0e275d9a039b (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.c10
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);