svn commit: trunk/busybox/shell

vda at busybox.net vda at busybox.net
Sun Feb 3 22:01:09 UTC 2008


Author: vda
Date: 2008-02-03 14:01:08 -0800 (Sun, 03 Feb 2008)
New Revision: 20937

Log:
ash: readability enhancement, no code changes



Modified:
   trunk/busybox/shell/ash.c


Changeset:
Modified: trunk/busybox/shell/ash.c
===================================================================
--- trunk/busybox/shell/ash.c	2008-02-02 21:49:48 UTC (rev 20936)
+++ trunk/busybox/shell/ash.c	2008-02-03 22:01:08 UTC (rev 20937)
@@ -1475,7 +1475,7 @@
 {
 	while (*pfx) {
 		if (*pfx++ != *string++)
-			return 0;
+			return NULL;
 	}
 	return (char *) string;
 }
@@ -6500,8 +6500,10 @@
 	/* unsigned flags; */
 };
 #define IS_BUILTIN_SPECIAL(b) ((b)->name[0] & 1)
+/* "regular" bltins always take precedence over commands,
+ * regardless of PATH=....%builtin... position */
 #define IS_BUILTIN_REGULAR(b) ((b)->name[0] & 2)
-#define IS_BUILTIN_ASSIGN(b) ((b)->name[0] & 4)
+#define IS_BUILTIN_ASSIGN(b)  ((b)->name[0] & 4)
 
 struct cmdentry {
 	int cmdtype;
@@ -6788,10 +6790,11 @@
 	struct cmdentry entry;
 	char *name;
 
-	while ((c = nextopt("r")) != '\0') {
+	if (nextopt("r") != '\0') {
 		clearcmdentry(0);
 		return 0;
 	}
+
 	if (*argptr == NULL) {
 		for (pp = cmdtable; pp < &cmdtable[CMDTABLESIZE]; pp++) {
 			for (cmdp = *pp; cmdp; cmdp = cmdp->next) {
@@ -6801,13 +6804,16 @@
 		}
 		return 0;
 	}
+
 	c = 0;
 	while ((name = *argptr) != NULL) {
 		cmdp = cmdlookup(name, 0);
 		if (cmdp != NULL
 		 && (cmdp->cmdtype == CMDNORMAL
-		     || (cmdp->cmdtype == CMDBUILTIN && builtinloc >= 0)))
+		     || (cmdp->cmdtype == CMDBUILTIN && builtinloc >= 0))
+		) {
 			delete_cmd_entry();
+		}
 		find_command(name, &entry, DO_ERR, pathval());
 		if (entry.cmdtype == CMDUNKNOWN)
 			c = 1;
@@ -6828,12 +6834,13 @@
 
 	for (pp = cmdtable; pp < &cmdtable[CMDTABLESIZE]; pp++) {
 		for (cmdp = *pp; cmdp; cmdp = cmdp->next) {
-			if (cmdp->cmdtype == CMDNORMAL || (
-				cmdp->cmdtype == CMDBUILTIN &&
-				!(IS_BUILTIN_REGULAR(cmdp->param.cmd)) &&
-				builtinloc > 0
-			))
+			if (cmdp->cmdtype == CMDNORMAL
+			 || (cmdp->cmdtype == CMDBUILTIN
+			     &&	!IS_BUILTIN_REGULAR(cmdp->param.cmd)
+			     && builtinloc > 0)
+			) {
 				cmdp->rehash = 1;
+			}
 		}
 	}
 }
@@ -6845,15 +6852,14 @@
  * Called with interrupts off.
  */
 static void
-changepath(const char *newval)
+changepath(const char *new)
 {
-	const char *old, *new;
+	const char *old;
+	int firstchange;
 	int idx;
-	int firstchange;
 	int idx_bltin;
 
 	old = pathval();
-	new = newval;
 	firstchange = 9999;     /* assume no change */
 	idx = 0;
 	idx_bltin = -1;
@@ -6869,9 +6875,8 @@
 			break;
 		if (*new == '%' && idx_bltin < 0 && prefix(new + 1, "builtin"))
 			idx_bltin = idx;
-		if (*new == ':') {
+		if (*new == ':')
 			idx++;
-		}
 		new++, old++;
 	}
 	if (builtinloc < 0 && idx_bltin >= 0)




More information about the busybox-cvs mailing list