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

@@ -553,7 +553,8 @@ static struct ast_config_engine pgsql_engine = {
static int load_module(void)
{
parse_config();
if(!parse_config())
return AST_MODULE_LOAD_DECLINE;
ast_mutex_lock(&pgsql_lock);
@@ -624,61 +625,63 @@ static int reload(void)
return 0;
}
int parse_config(void)
static int parse_config(void)
{
struct ast_config *config;
char *s;
config = ast_config_load(RES_CONFIG_PGSQL_CONF);
if (config) {
if (!(s = ast_variable_retrieve(config, "general", "dbuser"))) {
ast_log(LOG_WARNING,
"Postgresql RealTime: No database user found, using 'asterisk' as default.\n");
strcpy(dbuser, "asterisk");
} else {
ast_copy_string(dbuser, s, sizeof(dbuser));
}
if (!config) {
ast_log(LOG_WARNING, "Unable to load config %s\n",RES_CONFIG_PGSQL_CONF);
return 0;
}
if (!(s = ast_variable_retrieve(config, "general", "dbuser"))) {
ast_log(LOG_WARNING,
"Postgresql RealTime: No database user found, using 'asterisk' as default.\n");
strcpy(dbuser, "asterisk");
} else {
ast_copy_string(dbuser, s, sizeof(dbuser));
}
if (!(s = ast_variable_retrieve(config, "general", "dbpass"))) {
ast_log(LOG_WARNING,
"Postgresql RealTime: No database password found, using 'asterisk' as default.\n");
strcpy(dbpass, "asterisk");
} else {
ast_copy_string(dbpass, s, sizeof(dbpass));
}
if (!(s = ast_variable_retrieve(config, "general", "dbpass"))) {
ast_log(LOG_WARNING,
"Postgresql RealTime: No database password found, using 'asterisk' as default.\n");
strcpy(dbpass, "asterisk");
} else {
ast_copy_string(dbpass, s, sizeof(dbpass));
}
if (!(s = ast_variable_retrieve(config, "general", "dbhost"))) {
ast_log(LOG_WARNING,
"Postgresql RealTime: No database host found, using localhost via socket.\n");
dbhost[0] = '\0';
} else {
ast_copy_string(dbhost, s, sizeof(dbhost));
}
if (!(s = ast_variable_retrieve(config, "general", "dbhost"))) {
ast_log(LOG_WARNING,
"Postgresql RealTime: No database host found, using localhost via socket.\n");
dbhost[0] = '\0';
} else {
ast_copy_string(dbhost, s, sizeof(dbhost));
}
if (!(s = ast_variable_retrieve(config, "general", "dbname"))) {
ast_log(LOG_WARNING,
"Postgresql RealTime: No database name found, using 'asterisk' as default.\n");
strcpy(dbname, "asterisk");
} else {
ast_copy_string(dbname, s, sizeof(dbname));
}
if (!(s = ast_variable_retrieve(config, "general", "dbname"))) {
ast_log(LOG_WARNING,
"Postgresql RealTime: No database name found, using 'asterisk' as default.\n");
strcpy(dbname, "asterisk");
} else {
ast_copy_string(dbname, s, sizeof(dbname));
}
if (!(s = ast_variable_retrieve(config, "general", "dbport"))) {
ast_log(LOG_WARNING,
"Postgresql RealTime: No database port found, using 5432 as default.\n");
dbport = 5432;
} else {
dbport = atoi(s);
}
if (!(s = ast_variable_retrieve(config, "general", "dbport"))) {
ast_log(LOG_WARNING,
"Postgresql RealTime: No database port found, using 5432 as default.\n");
dbport = 5432;
} else {
dbport = atoi(s);
}
if (dbhost && !(s = ast_variable_retrieve(config, "general", "dbsock"))) {
ast_log(LOG_WARNING,
"Postgresql RealTime: No database socket found, using '/tmp/pgsql.sock' as default.\n");
strcpy(dbsock, "/tmp/pgsql.sock");
} else {
ast_copy_string(dbsock, s, sizeof(dbsock));
}
if (dbhost && !(s = ast_variable_retrieve(config, "general", "dbsock"))) {
ast_log(LOG_WARNING,
"Postgresql RealTime: No database socket found, using '/tmp/pgsql.sock' as default.\n");
strcpy(dbsock, "/tmp/pgsql.sock");
} else {
ast_copy_string(dbsock, s, sizeof(dbsock));
}
ast_config_destroy(config);