From: Zachary T Welch Date: Sat, 21 Nov 2009 23:52:12 +0000 (-0800) Subject: demonstrate chaining with foo commands X-Git-Tag: v0.4.0-rc1~401 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=16e0404777581e55bb42b95f5c9208b2c411debe demonstrate chaining with foo commands Use the new command registration chaining capabilities to eliminate the foo_register_commands helper, folding its remaining command handler setup into the hello_command_handlers registration array. --- diff --git a/src/hello.c b/src/hello.c index 6f0249487f..9a1bf92520 100644 --- a/src/hello.c +++ b/src/hello.c @@ -75,16 +75,6 @@ static const struct command_registration foo_command_handlers[] = { COMMAND_REGISTRATION_DONE }; -int foo_register_commands(struct command_context *cmd_ctx) -{ - // register several commands under the foo command - struct command *cmd = COMMAND_REGISTER(cmd_ctx, NULL, "foo", - NULL, COMMAND_ANY, "example command handler skeleton"); - - - return register_commands(cmd_ctx, cmd, foo_command_handlers); -} - static COMMAND_HELPER(handle_hello_args, const char **sep, const char **name) { if (CMD_ARGC > 1) @@ -119,12 +109,17 @@ static const struct command_registration hello_command_handlers[] = { .help = "prints a warm welcome", .usage = "[]", }, + { + .name = "foo", + .mode = COMMAND_ANY, + .help = "example command handler skeleton", + + .chain = foo_command_handlers, + }, COMMAND_REGISTRATION_DONE }; int hello_register_commands(struct command_context *cmd_ctx) { - foo_register_commands(cmd_ctx); - return register_commands(cmd_ctx, NULL, hello_command_handlers); }