summaryrefslogtreecommitdiff
path: root/futility/cmd_load_fmap.c
diff options
context:
space:
mode:
authorBill Richardson <wfrichar@chromium.org>2015-03-11 11:21:47 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-03-18 23:07:36 +0000
commit01466d36afd10b3947de475bc9b4fb23848e81ce (patch)
tree331e22905fc988641f111cdb5bd49b7970207290 /futility/cmd_load_fmap.c
parent49a422fab9afb3f013ee6115738c7e13d9ec8191 (diff)
downloadvboot-01466d36afd10b3947de475bc9b4fb23848e81ce.tar.gz
futility: Let each command provide its own help
Instead of a separate help function for each command, let's just require each command to handle a --help option. This will make it easier to layer the commands (for example, "sign" could have several subcommand variants, each with its own help). BUG=none BRANCH=none TEST=make runtests I also compared the result of running "futility help CMD" before and after this change. The help still shows up correctly. Change-Id: I5c58176f32b41b0a2c2b8f0afb17dddd80fddc70 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/260495 Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'futility/cmd_load_fmap.c')
-rw-r--r--futility/cmd_load_fmap.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/futility/cmd_load_fmap.c b/futility/cmd_load_fmap.c
index 7522759d..897a0850 100644
--- a/futility/cmd_load_fmap.c
+++ b/futility/cmd_load_fmap.c
@@ -44,8 +44,12 @@ static void print_help(int argc, char *argv[])
printf(usage, argv[0], argv[0]);
}
+enum {
+ OPT_HELP = 1000,
+};
static const struct option long_opts[] = {
/* name hasarg *flag val */
+ {"help", 0, NULL, OPT_HELP},
{NULL, 0, NULL, 0},
};
static char *short_opts = ":o:";
@@ -105,6 +109,9 @@ static int do_load_fmap(int argc, char *argv[])
case 'o':
outfile = optarg;
break;
+ case OPT_HELP:
+ print_help(argc, argv);
+ return !!errorcnt;
case '?':
if (optopt)
fprintf(stderr, "Unrecognized option: -%c\n",
@@ -198,7 +205,6 @@ done_file:
return !!errorcnt;
}
-DECLARE_FUTIL_COMMAND(load_fmap, do_load_fmap,
- VBOOT_VERSION_ALL,
- "Replace the contents of specified FMAP areas",
- print_help);
+DECLARE_FUTIL_COMMAND(load_fmap, do_load_fmap, VBOOT_VERSION_ALL,
+ "Replace the contents of specified FMAP areas");
+