From f766ff54545eab2b2d5dde4b51f4183390b48453 Mon Sep 17 00:00:00 2001 From: Leo C Date: Sun, 19 Aug 2018 00:03:02 +0200 Subject: [PATCH] Fix 'help [-a] command ...' command. --- avr/command.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/avr/command.c b/avr/command.c index b579a5e..ff52757 100644 --- a/avr/command.c +++ b/avr/command.c @@ -380,11 +380,20 @@ command_ret_t do_help(cmd_tbl_t *cmdtp, uint_fast8_t flag UNUSED, int argc, char /* command help (long version) */ for (uint_fast8_t argi = 0; argi < argc; ++argi) { uint_fast8_t got = 0; - - for (uint_fast8_t cmdi = 0; cmdi < cmd_items; cmdi++) { - if (strcmp_P(argv[argi], cmd_list[cmdi]->name) == 0) { - cmd_usage(cmd_list[cmdi]); - got = 1; + cmd_tbl_t *tp = find_cmd(argv[argi], tbl_start); + if (tp) { + cmd_usage(tp); + got = 1; + } + if (options & OPT_ALL) { + for (cmd_tbl_t *sub = tbl_start; sub->name != NULL; sub++) { + if (sub->subcmd) { + tp = find_cmd(argv[argi], sub->subcmd); + if (tp) { + cmd_usage(tp); + got = 1; + } + } } } if (!got) { -- 2.39.2