Browse Source

sandbox: Disintangle declarations in do_host_bind()

This function has a strange mix of declarations and argument parsing
which is a bit hard to follow and harder to modify. Separate out the
declarations at the start of the function and adjust the ordering of
the code slightly.

Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass 3 years ago
parent
commit
1503c2c790
1 changed files with 9 additions and 4 deletions
  1. 9 4
      cmd/host.c

+ 9 - 4
cmd/host.c

@@ -41,16 +41,21 @@ static int do_host_save(struct cmd_tbl *cmdtp, int flag, int argc,
 static int do_host_bind(struct cmd_tbl *cmdtp, int flag, int argc,
 			char *const argv[])
 {
+	const char *dev_str;
+	char *file;
+	char *ep;
+	int dev;
+
 	if (argc < 2 || argc > 3)
 		return CMD_RET_USAGE;
-	char *ep;
-	char *dev_str = argv[1];
-	char *file = argc >= 3 ? argv[2] : NULL;
-	int dev = simple_strtoul(dev_str, &ep, 16);
+	dev_str = argv[1];
+	dev = simple_strtoul(dev_str, &ep, 16);
 	if (*ep) {
 		printf("** Bad device specification %s **\n", dev_str);
 		return CMD_RET_USAGE;
 	}
+	file = argc >= 3 ? argv[2] : NULL;
+
 	return !!host_dev_bind(dev, file);
 }