[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/3] qapi: clear given pointer
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH 2/3] qapi: clear given pointer |
Date: |
Wed, 21 Sep 2016 16:34:14 +0100 |
User-agent: |
Mutt/1.7.0 (2016-08-17) |
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 <address@hidden>
> >
> > 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 :|