[PATCH 04/19] sandbox: Disintangle declarations in do_host_bind()

Simon Glass sjg at chromium.org
Mon Mar 15 06:11:09 CET 2021


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 at chromium.org>
---

 cmd/host.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/cmd/host.c b/cmd/host.c
index 1d21f796ac3..927c23d0d9d 100644
--- a/cmd/host.c
+++ b/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);
 }
 
-- 
2.31.0.rc2.261.g7f71774620-goog



More information about the U-Boot mailing list