[asterisk-commits] file: branch 1.4 r43456 - /branches/1.4/channels/chan_oss.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Thu Sep 21 15:21:41 MST 2006


Author: file
Date: Thu Sep 21 17:21:40 2006
New Revision: 43456

URL: http://svn.digium.com/view/asterisk?rev=43456&view=rev
Log:
Some more clean up in the load function for chan_oss (issue #8002 reported by Mithraen with minor mods by moi)

Modified:
    branches/1.4/channels/chan_oss.c

Modified: branches/1.4/channels/chan_oss.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/channels/chan_oss.c?rev=43456&r1=43455&r2=43456&view=diff
==============================================================================
--- branches/1.4/channels/chan_oss.c (original)
+++ branches/1.4/channels/chan_oss.c Thu Sep 21 17:21:40 2006
@@ -1836,39 +1836,39 @@
 
 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;
-	}
-	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;
-	}
+		return AST_MODULE_LOAD_FAILURE;
+	}
+
+	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;
 }
 
 



More information about the asterisk-commits mailing list