diff mbox

[v10,03/13] qapi: Reposition error checks in gen_visit_fields()

Message ID 1455582057-27565-4-git-send-email-eblake@redhat.com
State New
Headers show

Commit Message

Eric Blake Feb. 16, 2016, 12:20 a.m. UTC
Change the generated code for error checking after an optional
field visit to have one less level of indentation.  There is no
real semantic change (the compiler should be smart enough to
realize that err does not change if visit_optional() returns
false, and optimize out unneeded branching in that case); the
main reason for the change is making the next patch (removing
a pointless goto) easier to read.

|     if (visit_optional(v, "node-name", &has_node_name)) {
|         visit_type_str(v, "node-name", (char **)&node_name, &err);
|-        if (err) {
|-            goto out_obj;
|-        }
|+    }
|+    if (err) {
|+        goto out_obj;
|     }

Signed-off-by: Eric Blake <eblake@redhat.com>

---
v10: new patch
---
 scripts/qapi.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/scripts/qapi.py b/scripts/qapi.py
index f97236f..fab5001 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -1673,13 +1673,14 @@  def gen_visit_fields(members, prefix='', need_cast=False, skiperr=False,
                      c_type=memb.type.c_name(), prefix=prefix, cast=cast,
                      c_name=c_name(memb.name), name=memb.name,
                      errp=errparg)
-        ret += gen_err_check(skiperr=skiperr, label=label)

         if memb.optional:
             pop_indent()
             ret += mcgen('''
     }
 ''')
+        ret += gen_err_check(skiperr=skiperr, label=label)
+
     return ret