On Fri, 20 Nov 2009 15:10:20 +0100 Markus Armbruster <arm...@redhat.com> wrote:
> Luiz Capitulino <lcapitul...@redhat.com> writes: > > > Each device is represented by a QDict. The returned QObject is a QList > > of all devices. > > > > This commit should not change user output. > > > > Signed-off-by: Luiz Capitulino <lcapitul...@redhat.com> > > --- > > monitor.c | 3 ++- > > qemu-char.c | 43 +++++++++++++++++++++++++++++++++++++++++-- > > qemu-char.h | 4 +++- > > 3 files changed, 46 insertions(+), 4 deletions(-) > > > > diff --git a/monitor.c b/monitor.c > > index e4fed10..a0a9281 100644 > > --- a/monitor.c > > +++ b/monitor.c > > @@ -2040,7 +2040,8 @@ static const mon_cmd_t info_cmds[] = { > > .args_type = "", > > .params = "", > > .help = "show the character devices", > > - .mhandler.info = qemu_chr_info, > > + .user_print = qemu_chr_info_print, > > + .mhandler.info_new = qemu_chr_info, > > }, > > { > > .name = "block", > > diff --git a/qemu-char.c b/qemu-char.c > > index 5a81e8f..7fcde98 100644 > > --- a/qemu-char.c > > +++ b/qemu-char.c > > @@ -32,6 +32,7 @@ > > #include "hw/usb.h" > > #include "hw/baum.h" > > #include "hw/msmouse.h" > > +#include "qemu-objects.h" > > > > #include <unistd.h> > > #include <fcntl.h> > > @@ -2465,13 +2466,51 @@ void qemu_chr_close(CharDriverState *chr) > > qemu_free(chr); > > } > > > > -void qemu_chr_info(Monitor *mon) > > +static void qemu_chr_print_qlist(QObject *obj, void *opaque) > > Why *_qlist? It prints a qdict, which happens to be a list element, but > this function doesn't know that. It does know, as it was written with the purpose of printing the elements of a qlist.