提交 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, ...@@ -4157,6 +4157,9 @@ static int check_client_args_type(const QDict *client_args,
case 'O': case 'O':
assert(flags & QMP_ACCEPT_UNKNOWNS); assert(flags & QMP_ACCEPT_UNKNOWNS);
break; break;
case 'q':
/* Any QObject can be passed. */
break;
case '/': case '/':
case '.': case '.':
/* /*
......
...@@ -708,7 +708,7 @@ EQMP ...@@ -708,7 +708,7 @@ EQMP
}, },
{ {
.name = "transaction", .name = "transaction",
.args_type = "actions:O", .args_type = "actions:q",
.mhandler.cmd_new = qmp_marshal_input_transaction, .mhandler.cmd_new = qmp_marshal_input_transaction,
}, },
...@@ -2125,7 +2125,7 @@ EQMP ...@@ -2125,7 +2125,7 @@ EQMP
{ {
.name = "qom-set", .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, .mhandler.cmd_new = qmp_qom_set,
}, },
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册