mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-08 19:08:14 +00:00
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:
@@ -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");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user