diff options
author | Eric Blake <eblake@redhat.com> | 2015-12-01 22:20:53 -0700 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2015-12-17 08:21:29 +0100 |
commit | 29637a6ee913df8fcdf371426ee48956b945b618 (patch) | |
tree | 8d2c3369074919498d62828d2a624a355ba1a2c3 /include | |
parent | 5cdc8831a795fb8452d7e34f644202fd724e122a (diff) |
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 'include')
-rw-r--r-- | include/qapi/visitor.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/qapi/visitor.h b/include/qapi/visitor.h index 9be60d428d..a14a16d755 100644 --- a/include/qapi/visitor.h +++ b/include/qapi/visitor.h @@ -41,9 +41,9 @@ void visit_end_list(Visitor *v, Error **errp); * Check if an optional member @name of an object needs visiting. * For input visitors, set *@present according to whether the * corresponding visit_type_*() needs calling; for other visitors, - * leave *@present unchanged. + * leave *@present unchanged. Return *@present for convenience. */ -void visit_optional(Visitor *v, bool *present, const char *name); +bool visit_optional(Visitor *v, bool *present, const char *name); /** * Determine the qtype of the item @name in the current object visit. |