/* 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) {