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
This commit is contained in:
Matt O'Gorman
2006-08-31 21:00:20 +00:00
parent f2b836ff4f
commit 05a695af72
35 changed files with 418 additions and 373 deletions

View File

@@ -46,49 +46,51 @@ static int load_config(void)
res_snmp_enabled = 0;
res_snmp_agentx_subagent = 1;
cfg = ast_config_load("res_snmp.conf");
if (cfg) {
cat = ast_category_browse(cfg, NULL);
while (cat) {
var = ast_variable_browse(cfg, cat);
if (!cfg) {
ast_log(LOG_WARNING, "Could not load res_snmp.conf\n");
return 0;
}
cat = ast_category_browse(cfg, NULL);
while (cat) {
var = ast_variable_browse(cfg, cat);
if (strcasecmp(cat, "general") == 0) {
while (var) {
if (strcasecmp(var->name, "subagent") == 0) {
if (ast_true(var->value))
res_snmp_agentx_subagent = 1;
else if (ast_false(var->value))
res_snmp_agentx_subagent = 0;
else {
ast_log(LOG_ERROR, "Value '%s' does not evaluate to true or false.\n", var->value);
ast_config_destroy(cfg);
return 1;
}
} else if (strcasecmp(var->name, "enabled") == 0) {
res_snmp_enabled = ast_true(var->value);
} else {
ast_log(LOG_ERROR, "Unrecognized variable '%s' in category '%s'\n", var->name, cat);
if (strcasecmp(cat, "general") == 0) {
while (var) {
if (strcasecmp(var->name, "subagent") == 0) {
if (ast_true(var->value))
res_snmp_agentx_subagent = 1;
else if (ast_false(var->value))
res_snmp_agentx_subagent = 0;
else {
ast_log(LOG_ERROR, "Value '%s' does not evaluate to true or false.\n", var->value);
ast_config_destroy(cfg);
return 1;
}
var = var->next;
} else if (strcasecmp(var->name, "enabled") == 0) {
res_snmp_enabled = ast_true(var->value);
} else {
ast_log(LOG_ERROR, "Unrecognized variable '%s' in category '%s'\n", var->name, cat);
ast_config_destroy(cfg);
return 1;
}
} else {
ast_log(LOG_ERROR, "Unrecognized category '%s'\n", cat);
ast_config_destroy(cfg);
return 1;
var = var->next;
}
cat = ast_category_browse(cfg, cat);
} else {
ast_log(LOG_ERROR, "Unrecognized category '%s'\n", cat);
ast_config_destroy(cfg);
return 1;
}
ast_config_destroy(cfg);
}
return 0;
cat = ast_category_browse(cfg, cat);
}
ast_config_destroy(cfg);
return 1;
}
static int load_module(void)
{
load_config();
if(!load_config())
return AST_MODULE_LOAD_DECLINE;
ast_verbose(VERBOSE_PREFIX_1 "Loading [Sub]Agent Module\n");