提交 280aa14d 编写于 作者: P Peter Krempa

qemuAgentGetHostname: Refactor to remove cleanup section

Use g_autoptr instead.
Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
Reviewed-by: NJán Tomko <jtomko@redhat.com>
上级 060d49d7
......@@ -1720,44 +1720,36 @@ int
qemuAgentGetHostname(qemuAgentPtr agent,
char **hostname)
{
int ret = -1;
virJSONValuePtr cmd;
virJSONValuePtr reply = NULL;
g_autoptr(virJSONValue) cmd = qemuAgentMakeCommand("guest-get-host-name", NULL);
g_autoptr(virJSONValue) reply = NULL;
virJSONValuePtr data = NULL;
const char *result = NULL;
cmd = qemuAgentMakeCommand("guest-get-host-name",
NULL);
if (!cmd)
return ret;
return -1;
if (qemuAgentCommand(agent, cmd, &reply, agent->timeout) < 0) {
if (qemuAgentErrorCommandUnsupported(reply))
ret = -2;
goto cleanup;
return -2;
return -1;
}
if (!(data = virJSONValueObjectGet(reply, "return"))) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("malformed return value"));
goto cleanup;
return -1;
}
if (!(result = virJSONValueObjectGetString(data, "host-name"))) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("'host-name' missing in guest-get-host-name reply"));
goto cleanup;
return -1;
}
*hostname = g_strdup(result);
ret = 0;
cleanup:
virJSONValueFree(cmd);
virJSONValueFree(reply);
return ret;
return 0;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册