qemuMonitorJSONSetMigrationParams: Refactor command construction and cleanup

qemuMonitorJSONMakeCommandInternal does the full command construction if
you pass in what would become the value of the 'arguments' key. Refactor
the open-coded implementation to use the helper and use modern cleanup
helpers at the same time.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
Peter Krempa 2020-03-04 10:10:56 +01:00
parent e9153cc604
commit b5d8d4b025

View File

@ -3440,30 +3440,19 @@ int
qemuMonitorJSONSetMigrationParams(qemuMonitorPtr mon,
virJSONValuePtr params)
{
int ret = -1;
virJSONValuePtr cmd = virJSONValueNewObject();
virJSONValuePtr reply = NULL;
g_autoptr(virJSONValue) cmd = NULL;
g_autoptr(virJSONValue) reply = NULL;
if (virJSONValueObjectAppendString(cmd, "execute",
"migrate-set-parameters") < 0)
goto cleanup;
if (virJSONValueObjectAppend(cmd, "arguments", params) < 0)
goto cleanup;
params = NULL;
if (!(cmd = qemuMonitorJSONMakeCommandInternal("migrate-set-parameters", params)))
return -1;
if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0)
goto cleanup;
return -1;
if (qemuMonitorJSONCheckError(cmd, reply) < 0)
goto cleanup;
return -1;
ret = 0;
cleanup:
virJSONValueFree(cmd);
virJSONValueFree(params);
virJSONValueFree(reply);
return ret;
return 0;
}