提交 b9f8978c 编写于 作者: P Paolo Bonzini 提交者: Luiz Capitulino

qmp: add and use q type specifier

"O" is being used by the transaction and qom-set commands to mean "any
QObject", but it really means "do not validate the argument list".
Add a new specifier with the correct meaning.
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
Reviewed-by: NAnthony Liguori <aliguori@us.ibm.com>
Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
上级 e38ac962
......@@ -4157,6 +4157,9 @@ static int check_client_args_type(const QDict *client_args,
case 'O':
assert(flags & QMP_ACCEPT_UNKNOWNS);
break;
case 'q':
/* Any QObject can be passed. */
break;
case '/':
case '.':
/*
......
......@@ -708,7 +708,7 @@ EQMP
},
{
.name = "transaction",
.args_type = "actions:O",
.args_type = "actions:q",
.mhandler.cmd_new = qmp_marshal_input_transaction,
},
......@@ -2125,7 +2125,7 @@ EQMP
{
.name = "qom-set",
.args_type = "path:s,property:s,opts:O",
.args_type = "path:s,property:s,value:q",
.mhandler.cmd_new = qmp_qom_set,
},
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册