From 910bb250c479b4de9c30231e1a090e9a2d647434 Mon Sep 17 00:00:00 2001 From: Zachary T Welch Date: Tue, 24 Nov 2009 22:18:28 -0800 Subject: combine help and usage command handlers Remove duplicated handler code by checking the running command name. --- src/helper/command.c | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) (limited to 'src/helper') diff --git a/src/helper/command.c b/src/helper/command.c index a1ba3585..54eec3b6 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -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 = "[ ...]", + .help = "show full command help", + .usage = "[ ...]", }, { .name = "usage", - .handler = &handle_usage_command, + .handler = &handle_help_command, .mode = COMMAND_ANY, - .help = "show command usage", - .usage = "[ ...]", + .help = "show basic command usage", + .usage = "[ ...]", }, COMMAND_REGISTRATION_DONE }; -- cgit v1.2.3