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 <[email protected]>
---

 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

Reply via email to