From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55348) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZcEBk-0006t1-HS for qemu-devel@nongnu.org; Wed, 16 Sep 2015 11:00:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZcEBj-0002lj-GJ for qemu-devel@nongnu.org; Wed, 16 Sep 2015 11:00:00 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49908) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZcEBj-0002le-Ay for qemu-devel@nongnu.org; Wed, 16 Sep 2015 10:59:59 -0400 Date: Wed, 16 Sep 2015 15:59:55 +0100 From: "Daniel P. Berrange" Message-ID: <20150916145955.GO21184@redhat.com> References: <1442401589-24189-1-git-send-email-armbru@redhat.com> <1442401589-24189-12-git-send-email-armbru@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1442401589-24189-12-git-send-email-armbru@redhat.com> Subject: Re: [Qemu-devel] [PATCH v8 11/26] qapi-event: Convert to QAPISchemaVisitor, fixing data with base Reply-To: "Daniel P. Berrange" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: qemu-devel@nongnu.org, mdroth@linux.vnet.ibm.com 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 > Reviewed-by: Eric Blake > --- > 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 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 :|