summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorEric Blake2015-12-02 06:20:53 +0100
committerMarkus Armbruster2015-12-17 08:21:29 +0100
commit29637a6ee913df8fcdf371426ee48956b945b618 (patch)
tree8d2c3369074919498d62828d2a624a355ba1a2c3 /scripts
parentqapi: Simplify visits of optional fields (diff)
downloadqemu-29637a6ee913df8fcdf371426ee48956b945b618.tar.gz
qemu-29637a6ee913df8fcdf371426ee48956b945b618.tar.xz
qemu-29637a6ee913df8fcdf371426ee48956b945b618.zip
qapi: Shorter visits of optional fields
For less code, reflect the determined boolean value of an optional visit back to the caller instead of making the caller read the boolean after the fact. The resulting generated code has the following diff: |- visit_optional(v, &has_fdset_id, "fdset-id"); |- if (has_fdset_id) { |+ if (visit_optional(v, &has_fdset_id, "fdset-id")) { | visit_type_int(v, &fdset_id, "fdset-id", &err); | if (err) { | goto out; | } | } Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <1449033659-25497-10-git-send-email-eblake@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/qapi.py3
1 files changed, 1 insertions, 2 deletions
diff --git a/scripts/qapi.py b/scripts/qapi.py
index 8bf41db4e2..58ecdf2a95 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -1656,8 +1656,7 @@ def gen_visit_fields(members, prefix='', need_cast=False, skiperr=False):
for memb in members:
if memb.optional:
ret += mcgen('''
- visit_optional(v, &%(prefix)shas_%(c_name)s, "%(name)s");
- if (%(prefix)shas_%(c_name)s) {
+ if (visit_optional(v, &%(prefix)shas_%(c_name)s, "%(name)s")) {
''',
prefix=prefix, c_name=c_name(memb.name),
name=memb.name, errp=errparg)