Commit b9f8978c authored by Paolo Bonzini's avatar Paolo Bonzini Committed by Luiz Capitulino
Browse files

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: default avatarPaolo Bonzini <pbonzini@redhat.com>
Reviewed-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
parent e38ac962
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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 '.':
            /*
+2 −2
Original line number Diff line number Diff line
@@ -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,
    },