Patchwork [01/18] Monitor: Introduce find_dispatch_table()

login
register
mail settings
Submitter Luiz Capitulino
Date Sept. 16, 2010, 8:20 p.m.
Message ID <1284668464-15981-2-git-send-email-lcapitulino@redhat.com>
Download mbox | patch
Permalink /patch/64996/
State New
Headers show

Comments

Luiz Capitulino - Sept. 16, 2010, 8:20 p.m.
It's a generic version of monitor_find_command() which searches
the dispatch table passed as an argument.

Future commits will introduce new dispatch tables, so we need
common code to search them.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
---
 monitor.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)
Markus Armbruster - Sept. 29, 2010, 9:29 a.m.
Luiz Capitulino <lcapitulino@redhat.com> writes:

> It's a generic version of monitor_find_command() which searches
> the dispatch table passed as an argument.
>
> Future commits will introduce new dispatch tables, so we need
> common code to search them.
>
> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
> ---
>  monitor.c |   10 ++++++++--
>  1 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/monitor.c b/monitor.c
> index e602480..98fc57a 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -3368,11 +3368,12 @@ static int is_valid_option(const char *c, const char *typestr)
>      return (typestr != NULL);
>  }
>  
> -static const mon_cmd_t *monitor_find_command(const char *cmdname)
> +static const mon_cmd_t *find_dispatch_table(const mon_cmd_t *disp_table,
> +                                            const char *cmdname)

find_dispatch_table() suggests it's searching for a dispatch table.
What about search_dispatch_table() or lookup_command()?

>  {
>      const mon_cmd_t *cmd;
>  
> -    for (cmd = mon_cmds; cmd->name != NULL; cmd++) {
> +    for (cmd = disp_table; cmd->name != NULL; cmd++) {
>          if (compare_cmd(cmdname, cmd->name)) {
>              return cmd;
>          }
> @@ -3381,6 +3382,11 @@ static const mon_cmd_t *monitor_find_command(const char *cmdname)
>      return NULL;
>  }
>  
> +static const mon_cmd_t *monitor_find_command(const char *cmdname)
> +{
> +    return find_dispatch_table(mon_cmds, cmdname);
> +}
> +
>  static const mon_cmd_t *monitor_parse_command(Monitor *mon,
>                                                const char *cmdline,
>                                                QDict *qdict)

Patch

diff --git a/monitor.c b/monitor.c
index e602480..98fc57a 100644
--- a/monitor.c
+++ b/monitor.c
@@ -3368,11 +3368,12 @@  static int is_valid_option(const char *c, const char *typestr)
     return (typestr != NULL);
 }
 
-static const mon_cmd_t *monitor_find_command(const char *cmdname)
+static const mon_cmd_t *find_dispatch_table(const mon_cmd_t *disp_table,
+                                            const char *cmdname)
 {
     const mon_cmd_t *cmd;
 
-    for (cmd = mon_cmds; cmd->name != NULL; cmd++) {
+    for (cmd = disp_table; cmd->name != NULL; cmd++) {
         if (compare_cmd(cmdname, cmd->name)) {
             return cmd;
         }
@@ -3381,6 +3382,11 @@  static const mon_cmd_t *monitor_find_command(const char *cmdname)
     return NULL;
 }
 
+static const mon_cmd_t *monitor_find_command(const char *cmdname)
+{
+    return find_dispatch_table(mon_cmds, cmdname);
+}
+
 static const mon_cmd_t *monitor_parse_command(Monitor *mon,
                                               const char *cmdline,
                                               QDict *qdict)