On Wed, Sep 21, 2016 at 11:17:45AM -0400, Marc-André Lureau wrote: > Hi > > ----- Original Message ----- > > On Wed, Sep 21, 2016 at 02:36:28PM +0400, Marc-André Lureau wrote: > > > Some getters already set *obj argument to NULL early, let's do this for > > > all for consistent behaviour in case of errors. > > > > > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > > > > If we want consistent behaviour, there's plenty more visit methods > > that need updating beyond these two. eg input_type_int64 will > > leave '*obj' untouched on error. > > > > In fact if we want to have '*obj' given a NULL value on error, > > then it seems we should instead add code to 'qapi-visit-core.c' > > to always initialize '*obj' to NULL, instead of doing it in > > qmp-input-visitor.c That way all visitor implementations get > > the same behaviour > > I think that's not easily doable, as an input visitor will want to set *obj > (to NULL or something), but the output visitor may need *obj != NULL as an > input.
Oh good point. > It'snot really elegant that there is visitor-input/output specific code > already in the visit-core, I would rather have that code in the respective > visitors. Also, my series of visitor patches will delete opts-visitor and string-input-visitor, so ultimately qmp-input-visitor will be the only one left doing input work. 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 :|