Module Name:    src
Committed By:   jnemeth
Date:           Mon Oct 25 22:41:42 UTC 2010

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

Log Message:
Revert most of previous:
- props being NULL is NOT an error and is a condition that all modules
  must be prepared to handle
- having this module bomb out for spurious reasons makes this module
  difficult to use for testing things
- keep comment update
- keep some KNF
- add a notice for the case when props is NULL


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 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.6 src/sys/modules/example/example.c:1.7
--- src/sys/modules/example/example.c:1.6	Tue Jun 22 18:30:20 2010
+++ src/sys/modules/example/example.c	Mon Oct 25 22:41:42 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: example.c,v 1.6 2010/06/22 18:30:20 rmind Exp $	*/
+/*	$NetBSD: example.c,v 1.7 2010/10/25 22:41:42 jnemeth Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: example.c,v 1.6 2010/06/22 18:30:20 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: example.c,v 1.7 2010/10/25 22:41:42 jnemeth Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -41,59 +41,53 @@
 
 MODULE(MODULE_CLASS_MISC, example, NULL);
 
-static int
+static
+void
 handle_props(prop_dictionary_t props)
 {
 	const char *msg;
 	prop_string_t str;
 
-	if (props == NULL)
-		return EINVAL;
-
-	str = prop_dictionary_get(props, "msg");
-	if (str == NULL) {
-		printf("The 'msg' property was not given.\n");
-		return EINVAL;
+	if (props != NULL) {
+		str = prop_dictionary_get(props, "msg");
+	} else {
+		printf("No property dictionary was provided.\n");
+		str = NULL;
 	}
-
-	if (prop_object_type(str) != PROP_TYPE_STRING) {
+	if (str == NULL)
+		printf("The 'msg' property was not given.\n");
+	else if (prop_object_type(str) != PROP_TYPE_STRING)
 		printf("The 'msg' property is not a string.\n");
-		return EINVAL;
+	else {
+		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);
 	}
-
-	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");
-		error = handle_props(arg);
+		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");
-		error = ENOTTY;
-		break;
+		return ENOTTY;
 
 	default:
-		error = ENOTTY;
+		return ENOTTY;
 	}
 
-	return error;
+	return 0;
 }

Reply via email to