On Wed, Sep 16, 2015 at 01:06:14PM +0200, Markus Armbruster wrote: > Fixes events whose data is struct with base to include the struct's > base members. Test case is qapi-schema-test.json's event > __org.qemu_x-command: > > { 'event': '__ORG.QEMU_X-EVENT', 'data': '__org.qemu_x-Struct' } > > { 'struct': '__org.qemu_x-Struct', 'base': '__org.qemu_x-Base', > 'data': { '__org.qemu_x-member2': 'str' } } > > { 'struct': '__org.qemu_x-Base', > 'data': { '__org.qemu_x-member1': '__org.qemu_x-Enum' } } > > Patch's effect on generated qapi_event_send___org_qemu_x_event(): > > -void qapi_event_send___org_qemu_x_event(const char *__org_qemu_x_member2, > +void qapi_event_send___org_qemu_x_event(__org_qemu_x_Enum > __org_qemu_x_member1, > + const char *__org_qemu_x_member2, > Error **errp) > { > QDict *qmp; > @@ -224,6 +225,10 @@ void qapi_event_send___org_qemu_x_event( > goto clean; > } > > + visit_type___org_qemu_x_Enum(v, &__org_qemu_x_member1, > "__org.qemu_x-member1", &local_err); > + if (local_err) { > + goto clean; > + } > visit_type_str(v, (char **)&__org_qemu_x_member2, > "__org.qemu_x-member2", &local_err); > if (local_err) { > goto clean; > > Signed-off-by: Markus Armbruster <arm...@redhat.com> > Reviewed-by: Eric Blake <ebl...@redhat.com> > --- > scripts/qapi-event.py | 89 > +++++++++++++++++---------------- > tests/qapi-schema/qapi-schema-test.json | 3 -- > 2 files changed, 47 insertions(+), 45 deletions(-)
Reviewed-by: Daniel P. Berrange <berra...@redhat.com> Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|