]> git.sur5r.net Git - openocd/commitdiff
add public API for locating commands
authorZachary T Welch <zw@superlucidity.net>
Sun, 22 Nov 2009 09:48:55 +0000 (01:48 -0800)
committerZachary T Welch <zw@superlucidity.net>
Wed, 25 Nov 2009 05:37:30 +0000 (21:37 -0800)
Allow other modules to find a command, primarily for the purpose of
registering and unregistering subcommands.

src/helper/command.c
src/helper/command.h

index af481cd414f0e04b1eb7db0cadbdbf94af1c8118..54bfb964a982bb26f64fc4efaa13718147fc3dde 100644 (file)
@@ -193,6 +193,16 @@ static struct command *command_find(struct command *head, const char *name)
        }
        return NULL;
 }
+struct command *command_find_in_context(struct command_context *cmd_ctx,
+               const char *name)
+{
+       return command_find(cmd_ctx->commands, name);
+}
+struct command *command_find_in_parent(struct command *parent,
+               const char *name)
+{
+       return command_find(parent->children, name);
+}
 
 /**
  * Add the command into the linked list, sorted by name.
index 6e3e93afaec70253a3fffc969b31cbd08443d6bc..2edeca9190d005469c21fa2e3112757e478f7358 100644 (file)
@@ -281,6 +281,11 @@ int unregister_command(struct command_context *cmd_ctx,
 int unregister_all_commands(struct command_context *cmd_ctx,
                struct command *parent);
 
+struct command *command_find_in_context(struct command_context *cmd_ctx,
+               const char *name);
+struct command *command_find_in_parent(struct command *parent,
+               const char *name);
+
 void command_set_output_handler(struct command_context* context,
                command_output_handler_t output_handler, void *priv);