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.
Signed-off-by: Zachary T Welch <z...@superlucidity.net> --- src/helper/command.c | 4 +++- src/helper/command.h | 9 +++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/helper/command.c b/src/helper/command.c index fb9faaa..28f8ffc 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -165,7 +165,9 @@ static int script_command(Jim_Interp *interp, int argc, Jim_Obj *const *argv) /* nice short description of source file */ #define __THIS__FILE__ "command.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), enum command_mode mode, char *help) +command_t* register_command(command_context_t *context, + command_t *parent, char *name, command_handler_t handler, + enum command_mode mode, char *help) { command_t *c, *p; diff --git a/src/helper/command.h b/src/helper/command.h index 7d03261..2cbc964 100644 --- a/src/helper/command.h +++ b/src/helper/command.h @@ -113,20 +113,21 @@ 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; 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); -- 1.6.4.4 _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development