diff options
author | Zachary T Welch <zw@superlucidity.net> | 2009-11-21 15:52:12 -0800 |
---|---|---|
committer | Zachary T Welch <zw@superlucidity.net> | 2009-11-24 21:37:32 -0800 |
commit | 16e0404777581e55bb42b95f5c9208b2c411debe (patch) | |
tree | 8d95edada1337e90d13593ebd1ddf41f944ac9c4 | |
parent | e7fd1d3d5031a98e56503c46baa0c2f23ac7d88c (diff) | |
download | openocd_libswd-16e0404777581e55bb42b95f5c9208b2c411debe.tar.gz openocd_libswd-16e0404777581e55bb42b95f5c9208b2c411debe.tar.bz2 openocd_libswd-16e0404777581e55bb42b95f5c9208b2c411debe.tar.xz openocd_libswd-16e0404777581e55bb42b95f5c9208b2c411debe.zip |
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.
-rw-r--r-- | src/hello.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/hello.c b/src/hello.c index 6f024948..9a1bf925 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>]", }, + { + .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); } |