run_parts: NULL-terminate list of arguments; fix perror/error usage
diff --git a/debianutils/run_parts.c b/debianutils/run_parts.c
index aa449c4..7d41c69 100644
--- a/debianutils/run_parts.c
+++ b/debianutils/run_parts.c
@@ -49,8 +49,8 @@
 #endif
 
 struct globals {
-	char *cmd[10]; /* merely arbitrary arg count */
 	smalluint mode;
+	char *cmd[10]; /* merely arbitrary arg count */
 };
 #define G (*(struct globals*)&bb_common_bufsiz1)
 
@@ -101,9 +101,9 @@
 	G.cmd[0] = (char*)file;
 	ret = wait4pid(spawn(G.cmd));
 	if (ret < 0) {
-		bb_error_msg("failed to exec %s", *G.cmd);
+		bb_perror_msg("failed to exec %s", file);
 	} else if (ret > 0) {
-		bb_perror_msg("%s exited with return code %d", *G.cmd, ret);
+		bb_error_msg("%s exited with return code %d", file, ret);
 	}
 	return !ret;
 }
@@ -129,14 +129,14 @@
 		 * libc is not foolproof; it will take the 8 and 9 digits under
 		 * some circumstances. We'll just have to live with it.
 		 */
-			umask(xstrtoul_range(umask_p, 8, 0, 07777));
+		umask(xstrtoul_range(umask_p, 8, 0, 07777));
 	}
 //XXX: FIXME: reverse the list before handing it over to the user.
 //XXX: FIXME: The common case seems to be to use the order given by the user
 	arg_list = llist_rev(arg_list); /* XXX: getopt32 appends them */
-	G.cmd[0] = (char*)"";
 	for (tmp = 1; arg_list; arg_list = arg_list->link, tmp++)
 		G.cmd[tmp] = arg_list->data;
+	G.cmd[tmp] = NULL;
 	if (!recursive_action(argv[argc - 1],
 			TRUE,		/* recurse */
 			TRUE,		/* follow links */