summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy <[email protected]>2022-01-26 17:11:25 +0100
committerMarkus Armbruster <[email protected]>2022-01-27 11:25:09 +0100
commit167d913f34aa469fa30b0c51a04d8d2b9a5f1fa5 (patch)
tree451eb32cb8b455c6a39954d194d18f44ec69fe94 /scripts
parent4e86df17326d2afaf74622c082d906ed3f96d1d7 (diff)
qapi/commands: refactor error handling code
Move error_propagate() to if (err) and make "if (err)" block mandatory. This is to simplify further commit, which will bring trace events generation for QMP commands. Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]> Reviewed-by: Stefan Hajnoczi <[email protected]> Message-Id: <[email protected]> Reviewed-by: Markus Armbruster <[email protected]> Signed-off-by: Markus Armbruster <[email protected]>
Diffstat (limited to 'scripts')
-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);
''',