From ddb6138ed428f666064d26bb08036de3afe44bc8 Mon Sep 17 00:00:00 2001 From: Zachary T Welch Date: Tue, 10 Nov 2009 19:00:01 -0800 Subject: [PATCH] add command_handler_t type This patch adds new typedefs for command handler callback functions. Users of this type signature were updated to use these new types. It uses the new __COMMAND_HANDLER macro to prevent duplication. --- src/helper/command.c | 4 +--- src/helper/command.h | 9 +++++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/helper/command.c b/src/helper/command.c index 603da82f65..e467be0b2d 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -225,9 +225,7 @@ static void command_add_child(struct command_s **head, struct command_s *c) } command_t* register_command(command_context_t *context, - command_t *parent, char *name, - int (*handler)(struct command_context_s *context, - char* name, char** args, int argc), + command_t *parent, char *name, command_handler_t handler, enum command_mode mode, char *help) { if (!context || !name) diff --git a/src/helper/command.h b/src/helper/command.h index 236dabbe85..aec066d088 100644 --- a/src/helper/command.h +++ b/src/helper/command.h @@ -122,12 +122,15 @@ typedef struct command_context_s #define COMMAND_HELPER(name, extra...) __COMMAND_HANDLER(name, extra) +/// The type signature for commands' handler functions. +typedef __COMMAND_HANDLER((*command_handler_t)); + typedef struct command_s { char *name; struct command_s *parent; struct command_s *children; - int (*handler)(struct command_context_s *context, char* name, char** args, int argc); + command_handler_t handler; enum command_mode mode; struct command_s *next; } command_t; @@ -143,9 +146,7 @@ typedef struct command_s char *command_name(struct command_s *c, char delim); command_t* register_command(command_context_t *context, - command_t *parent, char *name, - int (*handler)(struct command_context_s *context, - char* name, char** args, int argc), + command_t *parent, char *name, command_handler_t handler, enum command_mode mode, char *help); int unregister_command(command_context_t *context, char *name); -- 2.30.2