Merged revisions 43456 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Thu, 21 Sep 2006 22:23:30 +0000 (22:23 +0000)
committerJoshua Colp <jcolp@digium.com>
Thu, 21 Sep 2006 22:23:30 +0000 (22:23 +0000)
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: https://origsvn.digium.com/svn/asterisk/trunk@43457 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_oss.c

index 76b0d3d..b791153 100644 (file)
@@ -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;
 }