qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 04/17] monitor: Add chardev-remove id argumen


From: Luiz Capitulino
Subject: Re: [Qemu-devel] [PATCH v2 04/17] monitor: Add chardev-remove id argument completion.
Date: Fri, 11 Apr 2014 13:36:44 -0400

On Sun, 30 Mar 2014 11:58:26 +0100
Hani Benhabiles <address@hidden> wrote:

> Signed-off-by: Hani Benhabiles <address@hidden>

Gerd, can you review this one and the patch (04/18). Both look good
to me, btw.

> ---
>  hmp-commands.hx |  1 +
>  hmp.h           |  1 +
>  monitor.c       | 23 +++++++++++++++++++++++
>  3 files changed, 25 insertions(+)
> 
> diff --git a/hmp-commands.hx b/hmp-commands.hx
> index 4c4d261..4f0f053 100644
> --- a/hmp-commands.hx
> +++ b/hmp-commands.hx
> @@ -1630,6 +1630,7 @@ ETEXI
>          .params     = "id",
>          .help       = "remove chardev",
>          .mhandler.cmd = hmp_chardev_remove,
> +        .command_completion = chardev_remove_completion,
>      },
>  
>  STEXI
> diff --git a/hmp.h b/hmp.h
> index 20ef454..42b4d6b 100644
> --- a/hmp.h
> +++ b/hmp.h
> @@ -97,5 +97,6 @@ void object_add_completion(ReadLineState *rs, int nb_args, 
> const char *str);
>  void object_del_completion(ReadLineState *rs, int nb_args, const char *str);
>  void device_add_completion(ReadLineState *rs, int nb_args, const char *str);
>  void device_del_completion(ReadLineState *rs, int nb_args, const char *str);
> +void chardev_remove_completion(ReadLineState *rs, int nb_args, const char 
> *str);
>  
>  #endif
> diff --git a/monitor.c b/monitor.c
> index 710ba25..040da9b 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -4346,6 +4346,29 @@ static void device_del_bus_completion(ReadLineState 
> *rs,  BusState *bus,
>      }
>  }
>  
> +void chardev_remove_completion(ReadLineState *rs, int nb_args, const char 
> *str)
> +{
> +    size_t len;
> +    ChardevInfoList *list, *start;
> +
> +    if (nb_args != 2) {
> +        return;
> +    }
> +    len = strlen(str);
> +    readline_set_completion_index(rs, len);
> +
> +    start = list = qmp_query_chardev(NULL);
> +    while (list) {
> +        ChardevInfo *chr = list->value;
> +
> +        if (!strncmp(chr->label, str, len)) {
> +            readline_add_completion(rs, chr->label);
> +        }
> +        list = list->next;
> +    }
> +    qapi_free_ChardevInfoList(start);
> +}
> +
>  void device_del_completion(ReadLineState *rs, int nb_args, const char *str)
>  {
>      size_t len;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]