From 16e0404777581e55bb42b95f5c9208b2c411debe Mon Sep 17 00:00:00 2001 From: Zachary T Welch Date: Sat, 21 Nov 2009 15:52:12 -0800 Subject: 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. --- src/hello.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/src/hello.c b/src/hello.c index 6f02494..9a1bf92 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); } -- cgit v1.1