Re: [Qemu-devel] [PATCH 3/7] QMP: Assure that returned data is a QDict
On Fri, 2009-12-18 at 13:25 -0200, Luiz Capitulino wrote: This is for debug purposes only. This breaks quite a lot of commands where the returned data is a QList, e.g. query-commands, query-mice, query-cpus. Is the assert wrong, or are such commands meant to be returning a QDict? Signed-off-by: Luiz Capitulino lcapitul...@redhat.com --- monitor.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/monitor.c b/monitor.c index d238660..8ef1582 100644 --- a/monitor.c +++ b/monitor.c @@ -283,6 +283,7 @@ static void monitor_protocol_emitter(Monitor *mon, QObject *data) if (!monitor_has_error(mon)) { /* success response */ if (data) { +assert(qobject_type(data) == QTYPE_QDICT); qobject_incref(data); qdict_put_obj(qmp, return, data); } else {
Re: [Qemu-devel] [PATCH 3/7] QMP: Assure that returned data is a QDict
On Mon, 21 Dec 2009 19:21:18 + Nathan Baum nat...@parenthephobia.org.uk wrote: On Fri, 2009-12-18 at 13:25 -0200, Luiz Capitulino wrote: This is for debug purposes only. This breaks quite a lot of commands where the returned data is a QList, e.g. query-commands, query-mice, query-cpus. Is the assert wrong, or are such commands meant to be returning a QDict? The assert is wrong, as we've defined that returning a QList of QDicts is ok. We could check for a QList too and check its contents but I think that only dropping the assert is ok for now. Will submit a patch and thanks for testing QMP.
[Qemu-devel] [PATCH 3/7] QMP: Assure that returned data is a QDict
This is for debug purposes only. Signed-off-by: Luiz Capitulino lcapitul...@redhat.com --- monitor.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/monitor.c b/monitor.c index d238660..8ef1582 100644 --- a/monitor.c +++ b/monitor.c @@ -283,6 +283,7 @@ static void monitor_protocol_emitter(Monitor *mon, QObject *data) if (!monitor_has_error(mon)) { /* success response */ if (data) { +assert(qobject_type(data) == QTYPE_QDICT); qobject_incref(data); qdict_put_obj(qmp, return, data); } else { -- 1.6.6.rc3