virQEMUCapsInitGuest: Refactor cleanup and remove return value

Use automatic pointer freeing, remove 'ret' variable and also remove
return value completely.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2023-03-17 14:38:20 +01:00
parent a4c03bdd59
commit 74998ed662

View File

@ -984,15 +984,14 @@ virQEMUCapsGetDefaultEmulator(virArch hostarch,
}
static int
static void
virQEMUCapsInitGuest(virCaps *caps,
virFileCache *cache,
virArch hostarch,
virArch guestarch)
{
char *binary = NULL;
virQEMUCaps *qemuCaps = NULL;
int ret = -1;
g_autofree char *binary = NULL;
g_autoptr(virQEMUCaps) qemuCaps = NULL;
binary = virQEMUCapsGetDefaultEmulator(hostarch, guestarch);
@ -1000,17 +999,11 @@ virQEMUCapsInitGuest(virCaps *caps,
if (binary) {
if (!(qemuCaps = virQEMUCapsCacheLookup(cache, binary))) {
virResetLastError();
VIR_FREE(binary);
return;
}
}
virQEMUCapsInitGuestFromBinary(caps, binary, qemuCaps, guestarch);
ret = 0;
VIR_FREE(binary);
virObjectUnref(qemuCaps);
return ret;
}
@ -1194,10 +1187,7 @@ virQEMUCapsInit(virFileCache *cache)
* if a qemu-system-$ARCH binary can't be found
*/
for (i = 0; i < VIR_ARCH_LAST; i++)
if (virQEMUCapsInitGuest(caps, cache,
hostarch,
i) < 0)
return NULL;
virQEMUCapsInitGuest(caps, cache, hostarch, i);
return g_steal_pointer(&caps);
}