diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index f4e942a32f..e6cfaaf0e9 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -396,15 +396,15 @@ qemuMonitorJSONCheckError(virJSONValue *cmd, } -static int -qemuMonitorJSONCheckReply(virJSONValue *cmd, - virJSONValue *reply, - virJSONType type) +static virJSONValue * +qemuMonitorJSONGetReply(virJSONValue *cmd, + virJSONValue *reply, + virJSONType type) { virJSONValue *data; if (qemuMonitorJSONCheckError(cmd, reply) < 0) - return -1; + return NULL; data = virJSONValueObjectGet(reply, "return"); if (virJSONValueGetType(data) != type) { @@ -417,9 +417,21 @@ qemuMonitorJSONCheckReply(virJSONValue *cmd, _("unexpected type returned by QEMU command '%s'"), qemuMonitorJSONCommandName(cmd)); - return -1; + return NULL; } + return data; +} + + +static int +qemuMonitorJSONCheckReply(virJSONValue *cmd, + virJSONValue *reply, + virJSONType type) +{ + if (!qemuMonitorJSONGetReply(cmd, reply, type)) + return -1; + return 0; }