aboutsummaryrefslogtreecommitdiff
path: root/scripts/qapi
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/qapi')
-rw-r--r--scripts/qapi/commands.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/scripts/qapi/commands.py b/scripts/qapi/commands.py
index 21001bbd6b..17e5ed2414 100644
--- a/scripts/qapi/commands.py
+++ b/scripts/qapi/commands.py
@@ -74,14 +74,18 @@ def gen_call(name: str,
ret = mcgen('''
%(lhs)sqmp_%(c_name)s(%(args)s&err);
- error_propagate(errp, err);
''',
c_name=c_name(name), args=argstr, lhs=lhs)
- if ret_type:
- ret += mcgen('''
+
+ ret += mcgen('''
if (err) {
+ error_propagate(errp, err);
goto out;
}
+''')
+
+ if ret_type:
+ ret += mcgen('''
qmp_marshal_output_%(c_name)s(retval, ret, errp);
''',