cmd: hash: fix param count check
[pandora-u-boot.git] / cmd / hash.c
index e163cd6..5534a73 100644 (file)
 #include <hash.h>
 #include <linux/ctype.h>
 
+#if IS_ENABLED(CONFIG_HASH_VERIFY)
+#define HARGS 6
+#else
+#define HARGS 5
+#endif
+
 static int do_hash(struct cmd_tbl *cmdtp, int flag, int argc,
                   char *const argv[])
 {
        char *s;
        int flags = HASH_FLAG_ENV;
 
-#ifdef CONFIG_HASH_VERIFY
-       if (argc < 4)
+       if (argc < (HARGS - 1))
                return CMD_RET_USAGE;
+
+#if IS_ENABLED(CONFIG_HASH_VERIFY)
        if (!strcmp(argv[1], "-v")) {
                flags |= HASH_FLAG_VERIFY;
                argc--;
@@ -37,18 +44,12 @@ static int do_hash(struct cmd_tbl *cmdtp, int flag, int argc,
        return hash_command(*argv, flags, cmdtp, flag, argc - 1, argv + 1);
 }
 
-#ifdef CONFIG_HASH_VERIFY
-#define HARGS 6
-#else
-#define HARGS 5
-#endif
-
 U_BOOT_CMD(
        hash,   HARGS,  1,      do_hash,
        "compute hash message digest",
        "algorithm address count [[*]hash_dest]\n"
                "    - compute message digest [save to env var / *address]"
-#ifdef CONFIG_HASH_VERIFY
+#if IS_ENABLED(CONFIG_HASH_VERIFY)
        "\nhash -v algorithm address count [*]hash\n"
                "    - verify message digest of memory area to immediate value, \n"
                "      env var or *address"