qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v4 2/3] monitor: add del completion for peripher


From: Marcel Apfelbaum
Subject: Re: [Qemu-devel] [PATCH v4 2/3] monitor: add del completion for peripheral device
Date: Sun, 19 Oct 2014 14:37:13 +0300

On Fri, 2014-10-17 at 17:35 +0800, Zhu Guihua wrote:
> Add peripheral_device_del_completion() to let peripheral device del completion
> be possible.
> 
> Signed-off-by: Zhu Guihua <address@hidden>
> ---
>  monitor.c | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/monitor.c b/monitor.c
> index 2d14f39..9c3fa01 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -4359,6 +4359,29 @@ static void device_del_bus_completion(ReadLineState 
> *rs,  BusState *bus,
>      }
>  }
>  
> +static void peripheral_device_del_completion(ReadLineState *rs,
> +                                             const char *str, size_t len)
> +{
> +    Object *peripheral;
> +    GSList *list = NULL, *item;
> +
> +    peripheral = object_resolve_path("/machine/peripheral/", NULL);
> +    if (peripheral == NULL) {
> +        return;
> +    }
> +
> +    object_child_foreach(peripheral, qdev_build_hotpluggable_device_list,
> +                         &list);
> +
> +    for (item = list; item; item = g_slist_next(item)) {
> +        DeviceState *dev = item->data;
> +
> +        if (dev->id && !strncmp(str, dev->id, len)) {
> +            readline_add_completion(rs, dev->id);
> +        }
> +    
Hi,

Am I missing something or g_slist_free(list)
should be somewhere here?

Thanks,
Marcel



> +}
> +
>  void chardev_remove_completion(ReadLineState *rs, int nb_args, const char 
> *str)
>  {
>      size_t len;
> @@ -4432,6 +4455,7 @@ void device_del_completion(ReadLineState *rs, int 
> nb_args, const char *str)
>      len = strlen(str);
>      readline_set_completion_index(rs, len);
>      device_del_bus_completion(rs, sysbus_get_default(), str, len);
> +    peripheral_device_del_completion(rs, str, len);
>  }
>  
>  void object_del_completion(ReadLineState *rs, int nb_args, const char *str)






reply via email to

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