Module Name:    src
Committed By:   rmind
Date:           Tue Jun 22 18:30:20 UTC 2010

Modified Files:
        src/sys/modules/example: example.c

Log Message:
KNF and tidy-up example module slightly.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/modules/example/example.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/modules/example/example.c
diff -u src/sys/modules/example/example.c:1.5 src/sys/modules/example/example.c:1.6
--- src/sys/modules/example/example.c:1.5	Tue Oct 20 05:33:30 2009
+++ src/sys/modules/example/example.c	Tue Jun 22 18:30:20 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: example.c,v 1.5 2009/10/20 05:33:30 jnemeth Exp $	*/
+/*	$NetBSD: example.c,v 1.6 2010/06/22 18:30:20 rmind Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -27,64 +27,73 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: example.c,v 1.5 2009/10/20 05:33:30 jnemeth Exp $");
+__KERNEL_RCSID(0, "$NetBSD: example.c,v 1.6 2010/06/22 18:30:20 rmind Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
 #include <sys/module.h>
 
 /*
- * Last parameter of MODULE macro is name of modules on
- * which defined module depends.
+ * Last parameter of MODULE macro is a list of names (as string; names are
+ * separated by commas) of dependencies.  If module has no dependencies,
+ * then NULL should be passed.
  */
 
 MODULE(MODULE_CLASS_MISC, example, NULL);
 
-static
-void
+static int
 handle_props(prop_dictionary_t props)
 {
+	const char *msg;
 	prop_string_t str;
 
-	if (props != NULL) {
-		str = prop_dictionary_get(props, "msg");
-	} else {
-		str = NULL;
-	}
-	if (str == NULL)
+	if (props == NULL)
+		return EINVAL;
+
+	str = prop_dictionary_get(props, "msg");
+	if (str == NULL) {
 		printf("The 'msg' property was not given.\n");
-	else if (prop_object_type(str) != PROP_TYPE_STRING)
+		return EINVAL;
+	}
+
+	if (prop_object_type(str) != PROP_TYPE_STRING) {
 		printf("The 'msg' property is not a string.\n");
-	else {
-		const char *msg = prop_string_cstring_nocopy(str);
-		if (msg == NULL)
-			printf("Failed to process the 'msg' property.\n");
-		else
-			printf("The 'msg' property is: %s\n", msg);
+		return EINVAL;
 	}
+
+	msg = prop_string_cstring_nocopy(str);
+	if (msg == NULL) {
+		printf("Failed to process the 'msg' property.\n");
+	} else {
+		printf("The 'msg' property is: %s\n", msg);
+	}
+	return 0;
 }
 
 static int
 example_modcmd(modcmd_t cmd, void *arg)
 {
+	int error;
 
 	switch (cmd) {
 	case MODULE_CMD_INIT:
 		printf("Example module loaded.\n");
-		handle_props(arg);
+		error = handle_props(arg);
 		break;
 
 	case MODULE_CMD_FINI:
 		printf("Example module unloaded.\n");
+		error = 0;
 		break;
 
 	case MODULE_CMD_STAT:
 		printf("Example module status queried.\n");
-		return ENOTTY;
+		error = ENOTTY;
+		break;
 
 	default:
-		return ENOTTY;
+		error = ENOTTY;
 	}
 
-	return 0;
+	return error;
 }

Reply via email to