vl: Ensure qapi visitor properly ends struct visit
commit014791b0df927226b794d14696724b9c9c0583d0
authorEric Blake <eblake@redhat.com>
Fri, 29 Jan 2016 13:48:44 +0000 (29 06:48 -0700)
committerMarkus Armbruster <armbru@redhat.com>
Mon, 8 Feb 2016 16:29:55 +0000 (8 17:29 +0100)
tree8e066fa253f79824a26789ec0ba51ef52e2e6817
parent9b65859d5e2e43fa89365224c5330e8c72ab760b
vl: Ensure qapi visitor properly ends struct visit

Guarantee that visit_end_struct() is called if
visit_start_struct() succeeded.  This matches the behavior of
most other uses of visitors, and is a step towards the possibility
of a future patch that adds and enforces some tighter semantics to
the visitor interface (namely, cleanup of the visitor would no
longer have to mop up as many leftovers from an aborted partial
visit).

The change to code here matches the flow of hmp.c:hmp_object_add();
a later patch will then further simplify the cleanup logic of both
places by refactoring visit_end_struct() to not require a second
local error object.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <1454075341-13658-9-git-send-email-eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
vl.c