diff options
author | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-09-21 22:23:30 +0000 |
---|---|---|
committer | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-09-21 22:23:30 +0000 |
commit | 95f208de8b867e68acbcfce08ec9f98ce46b18b7 (patch) | |
tree | 66ca979ebecc1d9c75bb60043907a02f209f7ed5 | |
parent | 886f9686442e4b15c6798681eb296f97fc4840bf (diff) |
Merged revisions 43456 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r43456 | file | 2006-09-21 18:21:40 -0400 (Thu, 21 Sep 2006) | 2 lines
Some more clean up in the load function for chan_oss (issue #8002 reported by Mithraen with minor mods by moi)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@43457 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | channels/chan_oss.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/channels/chan_oss.c b/channels/chan_oss.c index 76b0d3d8a..b79115312 100644 --- a/channels/chan_oss.c +++ b/channels/chan_oss.c @@ -1556,39 +1556,39 @@ static struct chan_oss_pvt *store_config(struct ast_config *cfg, char *ctg) static int load_module(void) { - int i; - struct ast_config *cfg; + struct ast_config *cfg = NULL; + char *ctg = NULL; /* Copy the default jb config over global_jbconf */ memcpy(&global_jbconf, &default_jbconf, sizeof(struct ast_jb_conf)); /* load config file */ - cfg = ast_config_load(config); - if (cfg != NULL) { - char *ctg = NULL; /* first pass is 'general' */ - - do { - store_config(cfg, ctg); - } while ( (ctg = ast_category_browse(cfg, ctg)) != NULL); - ast_config_destroy(cfg); - } else { - ast_log(LOG_NOTICE, "Unable to load config oss.conf\n"); - return AST_MODULE_LOAD_DECLINE; + if (!(cfg = ast_config_load(config))) { + ast_log(LOG_NOTICE, "Unable to load config %s\n", config); + return AST_MODULE_LOAD_DECLINE; } + + do { + store_config(cfg, ctg); + } while ( (ctg = ast_category_browse(cfg, ctg)) != NULL); + + ast_config_destroy(cfg); + if (find_desc(oss_active) == NULL) { ast_log(LOG_NOTICE, "Device %s not found\n", oss_active); /* XXX we could default to 'dsp' perhaps ? */ /* XXX should cleanup allocated memory etc. */ - return -1; + return AST_MODULE_LOAD_FAILURE; } - i = ast_channel_register(&oss_tech); - if (i < 0) { - ast_log(LOG_ERROR, "Unable to register channel class 'Console'\n"); - /* XXX should cleanup allocated memory etc. */ - return -1; + + if (ast_channel_register(&oss_tech)) { + ast_log(LOG_ERROR, "Unable to register channel class 'MGCP'\n"); + return AST_MODULE_LOAD_FAILURE; } + ast_cli_register_multiple(cli_oss, sizeof(cli_oss) / sizeof(struct ast_cli_entry)); - return 0; + + return AST_MODULE_LOAD_SUCCESS; } |