Module Name:    src
Committed By:   uebayasi
Date:           Fri Oct 10 05:27:29 UTC 2014

Modified Files:
        src/usr.bin/config: defs.h sem.c

Log Message:
Refactor attr definition and initialization a little.


To generate a diff of this commit:
cvs rdiff -u -r1.53 -r1.54 src/usr.bin/config/defs.h
cvs rdiff -u -r1.47 -r1.48 src/usr.bin/config/sem.c

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

Modified files:

Index: src/usr.bin/config/defs.h
diff -u src/usr.bin/config/defs.h:1.53 src/usr.bin/config/defs.h:1.54
--- src/usr.bin/config/defs.h:1.53	Thu Oct  9 19:27:04 2014
+++ src/usr.bin/config/defs.h	Fri Oct 10 05:27:28 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: defs.h,v 1.53 2014/10/09 19:27:04 uebayasi Exp $	*/
+/*	$NetBSD: defs.h,v 1.54 2014/10/10 05:27:28 uebayasi Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -166,15 +166,19 @@ struct defoptlist {
  */
 struct attr {
 	const char *a_name;		/* name of this attribute */
+	struct	attrlist *a_deps;	/* we depend on these other attrs */
+	int	a_expanding;		/* to detect cycles in attr graph */
+	TAILQ_HEAD(, files) a_files;	/* files in this attr */
+
+	/* "interface attribute" */
 	int	a_iattr;		/* true => allows children */
-	const char *a_devclass;		/* device class described */
 	struct	loclist *a_locs;	/* locators required */
 	int	a_loclen;		/* length of above list */
 	struct	nvlist *a_devs;		/* children */
 	struct	nvlist *a_refs;		/* parents */
-	struct	attrlist *a_deps;	/* we depend on these other attrs */
-	int	a_expanding;		/* to detect cycles in attr graph */
-	TAILQ_HEAD(, files) a_files;	/* files in this attr */
+
+	/* "device class" */
+	const char *a_devclass;		/* device class described */
 };
 
 /*

Index: src/usr.bin/config/sem.c
diff -u src/usr.bin/config/sem.c:1.47 src/usr.bin/config/sem.c:1.48
--- src/usr.bin/config/sem.c:1.47	Thu Oct  9 16:08:36 2014
+++ src/usr.bin/config/sem.c	Fri Oct 10 05:27:28 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: sem.c,v 1.47 2014/10/09 16:08:36 uebayasi Exp $	*/
+/*	$NetBSD: sem.c,v 1.48 2014/10/10 05:27:28 uebayasi Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -240,16 +240,24 @@ defattr(const char *name, struct loclist
 	}
 
 	a->a_name = name;
+	a->a_deps = deps;
+	a->a_expanding = 0;
+	TAILQ_INIT(&a->a_files);
+
+	/* "interface attribute" initialization */
 	if (locs != NULL) {
 		a->a_iattr = 1;
 		/* unwrap */
 		a->a_locs = locs->ll_next;
 		locs->ll_next = NULL;
 		loclist_destroy(locs);
-	} else {
-		a->a_iattr = 0;
-		a->a_locs = NULL;
+		len = 0;
+		for (ll = a->a_locs; ll != NULL; ll = ll->ll_next)
+			len++;
+		a->a_loclen = len;
 	}
+
+	/* "device class" initialization */
 	if (devclass) {
 		char classenum[256], *cp;
 		int errored = 0;
@@ -266,17 +274,7 @@ defattr(const char *name, struct loclist
 			*cp = toupper((unsigned char)*cp);
 		}
 		a->a_devclass = intern(classenum);
-	} else
-		a->a_devclass = NULL;
-	len = 0;
-	for (ll = a->a_locs; ll != NULL; ll = ll->ll_next)
-		len++;
-	a->a_loclen = len;
-	a->a_devs = NULL;
-	a->a_refs = NULL;
-	a->a_deps = deps;
-	a->a_expanding = 0;
-	TAILQ_INIT(&a->a_files);
+	}
 
 	/* Expand the attribute to check for cycles in the graph. */
 	expandattr(a, NULL);

Reply via email to