[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: |
Zhu Guihua |
Subject: |
Re: [Qemu-devel] [PATCH v4 2/3] monitor: add del completion for peripheral device |
Date: |
Mon, 20 Oct 2014 08:58:18 +0800 |
On Sun, 2014-10-19 at 14:37 +0300, Marcel Apfelbaum wrote:
> 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?
>
Yes, you are right, g_slist_free(list) should be here.
I am sorry to forget to do this. Thanks for your reminding, I will fix
this.
Regards,
Zhu
> 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)
>
>
>