cpu_s390.c: modernize virCPUs390Update

Use automatic cleanup of variables.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20200522195620.3843442-4-danielhb413@gmail.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
This commit is contained in:
Daniel Henrique Barboza 2020-05-22 16:56:18 -03:00 committed by Jiri Denemark
parent 05739fa1ad
commit a0ba662382

View File

@ -45,8 +45,7 @@ static int
virCPUs390Update(virCPUDefPtr guest,
const virCPUDef *host)
{
virCPUDefPtr updated = NULL;
int ret = -1;
g_autoptr(virCPUDef) updated = NULL;
size_t i;
if (guest->mode == VIR_CPU_MODE_CUSTOM) {
@ -58,37 +57,34 @@ virCPUs390Update(virCPUDefPtr guest,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("optional CPU features are not supported"));
}
goto cleanup;
return -1;
}
if (!host) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("unknown host CPU model"));
goto cleanup;
return -1;
}
if (!(updated = virCPUDefCopyWithoutModel(guest)))
goto cleanup;
return -1;
updated->mode = VIR_CPU_MODE_CUSTOM;
if (virCPUDefCopyModel(updated, host, true) < 0)
goto cleanup;
return -1;
for (i = 0; i < guest->nfeatures; i++) {
if (virCPUDefUpdateFeature(updated,
guest->features[i].name,
guest->features[i].policy) < 0)
goto cleanup;
return -1;
}
virCPUDefStealModel(guest, updated, false);
guest->mode = VIR_CPU_MODE_CUSTOM;
guest->match = VIR_CPU_MATCH_EXACT;
ret = 0;
cleanup:
virCPUDefFree(updated);
return ret;
return 0;
}