On Fri, Sep 26, 2014 at 01:29:41PM -0400, Luiz Capitulino wrote: > On Fri, 26 Sep 2014 13:25:45 -0400 > Luiz Capitulino <lcapitul...@redhat.com> wrote: > > > On Thu, 18 Sep 2014 15:53:21 +0800 > > Zhu Guihua <zhugh.f...@cn.fujitsu.com> wrote: > > > > > Add peripheral_device_del_completion() to let peripheral device del > > > completion > > > be possible. > > > > > > Signed-off-by: Zhu Guihua <zhugh.f...@cn.fujitsu.com> > > > --- > > > monitor.c | 24 ++++++++++++++++++++++++ > > > 1 file changed, 24 insertions(+) > > > > > > diff --git a/monitor.c b/monitor.c > > > index 667efb7..c0e00e4 100644 > > > --- a/monitor.c > > > +++ b/monitor.c > > > @@ -4351,6 +4351,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; > > > + DeviceState *dev = NULL; > > > + ObjectProperty *prop; > > > + > > > + peripheral = object_resolve_path("/machine/peripheral/", NULL); > > > + > > > + if (peripheral == NULL) { > > > + return; > > > + } > > > + > > > + QTAILQ_FOREACH(prop, &peripheral->properties, node) { > > > + if (object_property_is_child(prop)) { > > > + dev = DEVICE(object_property_get_opaque(prop, NULL)); > > > + if (dev->id && !strncmp(str, dev->id, len)) { > > > + readline_add_completion(rs, dev->id); > > > + } > > > + } > > > + } > > > +} > > > + > > > void chardev_remove_completion(ReadLineState *rs, int nb_args, const > > > char *str) > > > { > > > size_t len; > > > @@ -4424,6 +4447,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); > > > } > > > > The series intro email mentions device_del, but this is added to > > chardev-remove. Is there a reason for this? > > Turns out this is not added to chardev_remove_completion(), looked too > quickly. In any case, would be nice to have Hani's review.
Hi, I'm wrestling with my ISP at the moment. Will get back to these as soon as possible Thanks. > > > > > Hani, could you please review this series? > > > > > > > > void object_del_completion(ReadLineState *rs, int nb_args, const char > > > *str) > > >