combine help and usage command handlers
authorZachary T Welch <zw@superlucidity.net>
Wed, 25 Nov 2009 06:18:28 +0000 (22:18 -0800)
committerZachary T Welch <zw@superlucidity.net>
Wed, 25 Nov 2009 18:29:05 +0000 (10:29 -0800)
Remove duplicated handler code by checking the running command name.

src/helper/command.c

index a1ba358500324c17ef204558b86685422d66acc0..54eec3b6f0765fee3d39e38598252c8a68c2ef3d 100644 (file)
@@ -861,30 +861,18 @@ static COMMAND_HELPER(command_help_show, struct command *c, unsigned n,
 }
 COMMAND_HANDLER(handle_help_command)
 {
-       struct command *c = CMD_CTX->commands;
-
-       if (0 == CMD_ARGC)
-               return CALL_COMMAND_HANDLER(command_help_show_list, c, 0, true);
+       bool full = strcmp(CMD_NAME, "help") == 0;
 
-       int retval = CALL_COMMAND_HANDLER(command_help_find, c, &c);
-       if (ERROR_OK != retval)
-               return retval;
-
-       return CALL_COMMAND_HANDLER(command_help_show, c, 0, true);
-}
-
-COMMAND_HANDLER(handle_usage_command)
-{
        struct command *c = CMD_CTX->commands;
 
        if (0 == CMD_ARGC)
-               return CALL_COMMAND_HANDLER(command_help_show_list, c, 0, false);
+               return CALL_COMMAND_HANDLER(command_help_show_list, c, 0, full);
 
        int retval = CALL_COMMAND_HANDLER(command_help_find, c, &c);
        if (ERROR_OK != retval)
                return retval;
 
-       return CALL_COMMAND_HANDLER(command_help_show, c, 0, false);
+       return CALL_COMMAND_HANDLER(command_help_show, c, 0, full);
 }
 
 static int command_unknown_find(unsigned argc, Jim_Obj *const *argv,
@@ -1106,15 +1094,15 @@ static const struct command_registration command_builtin_handlers[] = {
                .name = "help",
                .handler = &handle_help_command,
                .mode = COMMAND_ANY,
-               .help = "show built-in command help",
-               .usage = "[<command_name> ...]",
+               .help = "show full command help",
+               .usage = "[<command> ...]",
        },
        {
                .name = "usage",
-               .handler = &handle_usage_command,
+               .handler = &handle_help_command,
                .mode = COMMAND_ANY,
-               .help = "show command usage",
-               .usage = "[<command_name> ...]",
+               .help = "show basic command usage",
+               .usage = "[<command> ...]",
        },
        COMMAND_REGISTRATION_DONE
 };