Use autocleanup with virCPUppc64ModelPtr to simplify existing
code. Remove the 'error' label in ppc64ModelCopy() since it is
now obsolete.
Signed-off-by: Daniel Henrique Barboza <danielhb413(a)gmail.com>
---
src/cpu/cpu_ppc64.c | 21 +++++++--------------
1 file changed, 7 insertions(+), 14 deletions(-)
diff --git a/src/cpu/cpu_ppc64.c b/src/cpu/cpu_ppc64.c
index 02ee4b0ffd..cae96c94a1 100644
--- a/src/cpu/cpu_ppc64.c
+++ b/src/cpu/cpu_ppc64.c
@@ -185,23 +185,19 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(virCPUppc64Model, ppc64ModelFree);
static virCPUppc64ModelPtr
ppc64ModelCopy(const virCPUppc64Model *model)
{
- virCPUppc64ModelPtr copy;
+ g_autoptr(virCPUppc64Model) copy = NULL;
if (VIR_ALLOC(copy) < 0)
- goto error;
+ return NULL;
copy->name = g_strdup(model->name);
if (ppc64DataCopy(©->data, &model->data) < 0)
- goto error;
+ return NULL;
copy->vendor = model->vendor;
- return copy;
-
- error:
- ppc64ModelFree(copy);
- return NULL;
+ return g_steal_pointer(©);
}
static virCPUppc64ModelPtr
@@ -308,7 +304,7 @@ ppc64ModelParse(xmlXPathContextPtr ctxt,
void *data)
{
struct ppc64_map *map = data;
- virCPUppc64ModelPtr model;
+ g_autoptr(virCPUppc64Model) model = NULL;
xmlNodePtr *nodes = NULL;
char *vendor = NULL;
unsigned long pvr;
@@ -382,7 +378,6 @@ ppc64ModelParse(xmlXPathContextPtr ctxt,
ret = 0;
cleanup:
- ppc64ModelFree(model);
VIR_FREE(vendor);
VIR_FREE(nodes);
return ret;
@@ -431,8 +426,8 @@ ppc64Compute(virCPUDefPtr host,
char **message)
{
struct ppc64_map *map = NULL;
- virCPUppc64ModelPtr host_model = NULL;
- virCPUppc64ModelPtr guest_model = NULL;
+ g_autoptr(virCPUppc64Model) host_model = NULL;
+ g_autoptr(virCPUppc64Model) guest_model = NULL;
virCPUDefPtr cpu = NULL;
virCPUCompareResult ret = VIR_CPU_COMPARE_ERROR;
virArch arch;
@@ -545,8 +540,6 @@ ppc64Compute(virCPUDefPtr host,
cleanup:
virCPUDefFree(cpu);
ppc64MapFree(map);
- ppc64ModelFree(host_model);
- ppc64ModelFree(guest_model);
return ret;
}
--
2.26.2