mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
qemu: pass pointers instead of copying objects for qemuFirmware*FreeContent()
These functions all cooperate to free memory pointed to by a single object that contains (doesn't *point to*, but actually contains) several sub-objects. They were written to send copies of these sub-objects to subordinate functions, rather than just sending pointers to the sub-objects. Let's change these functions to just send pointers to the objects they're cleaning out rather than all the wasteful and pointless copying. Signed-off-by: Laine Stump <laine@redhat.com> Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
parent
e1b02e3a56
commit
e7942f65c9
@ -188,47 +188,47 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(qemuFirmwareOSInterface, qemuFirmwareOSInterfaceFr
|
|||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
qemuFirmwareFlashFileFreeContent(qemuFirmwareFlashFile flash)
|
qemuFirmwareFlashFileFreeContent(qemuFirmwareFlashFilePtr flash)
|
||||||
{
|
{
|
||||||
VIR_FREE(flash.filename);
|
VIR_FREE(flash->filename);
|
||||||
VIR_FREE(flash.format);
|
VIR_FREE(flash->format);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
qemuFirmwareMappingFlashFreeContent(qemuFirmwareMappingFlash flash)
|
qemuFirmwareMappingFlashFreeContent(qemuFirmwareMappingFlashPtr flash)
|
||||||
{
|
{
|
||||||
qemuFirmwareFlashFileFreeContent(flash.executable);
|
qemuFirmwareFlashFileFreeContent(&flash->executable);
|
||||||
qemuFirmwareFlashFileFreeContent(flash.nvram_template);
|
qemuFirmwareFlashFileFreeContent(&flash->nvram_template);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
qemuFirmwareMappingKernelFreeContent(qemuFirmwareMappingKernel kernel)
|
qemuFirmwareMappingKernelFreeContent(qemuFirmwareMappingKernelPtr kernel)
|
||||||
{
|
{
|
||||||
VIR_FREE(kernel.filename);
|
VIR_FREE(kernel->filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
qemuFirmwareMappingMemoryFreeContent(qemuFirmwareMappingMemory memory)
|
qemuFirmwareMappingMemoryFreeContent(qemuFirmwareMappingMemoryPtr memory)
|
||||||
{
|
{
|
||||||
VIR_FREE(memory.filename);
|
VIR_FREE(memory->filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
qemuFirmwareMappingFreeContent(qemuFirmwareMapping mapping)
|
qemuFirmwareMappingFreeContent(qemuFirmwareMappingPtr mapping)
|
||||||
{
|
{
|
||||||
switch (mapping.device) {
|
switch (mapping->device) {
|
||||||
case QEMU_FIRMWARE_DEVICE_FLASH:
|
case QEMU_FIRMWARE_DEVICE_FLASH:
|
||||||
qemuFirmwareMappingFlashFreeContent(mapping.data.flash);
|
qemuFirmwareMappingFlashFreeContent(&mapping->data.flash);
|
||||||
break;
|
break;
|
||||||
case QEMU_FIRMWARE_DEVICE_KERNEL:
|
case QEMU_FIRMWARE_DEVICE_KERNEL:
|
||||||
qemuFirmwareMappingKernelFreeContent(mapping.data.kernel);
|
qemuFirmwareMappingKernelFreeContent(&mapping->data.kernel);
|
||||||
break;
|
break;
|
||||||
case QEMU_FIRMWARE_DEVICE_MEMORY:
|
case QEMU_FIRMWARE_DEVICE_MEMORY:
|
||||||
qemuFirmwareMappingMemoryFreeContent(mapping.data.memory);
|
qemuFirmwareMappingMemoryFreeContent(&mapping->data.memory);
|
||||||
break;
|
break;
|
||||||
case QEMU_FIRMWARE_DEVICE_NONE:
|
case QEMU_FIRMWARE_DEVICE_NONE:
|
||||||
case QEMU_FIRMWARE_DEVICE_LAST:
|
case QEMU_FIRMWARE_DEVICE_LAST:
|
||||||
@ -271,7 +271,7 @@ qemuFirmwareFree(qemuFirmwarePtr fw)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
qemuFirmwareOSInterfaceFree(fw->interfaces);
|
qemuFirmwareOSInterfaceFree(fw->interfaces);
|
||||||
qemuFirmwareMappingFreeContent(fw->mapping);
|
qemuFirmwareMappingFreeContent(&fw->mapping);
|
||||||
for (i = 0; i < fw->ntargets; i++)
|
for (i = 0; i < fw->ntargets; i++)
|
||||||
qemuFirmwareTargetFree(fw->targets[i]);
|
qemuFirmwareTargetFree(fw->targets[i]);
|
||||||
g_free(fw->targets);
|
g_free(fw->targets);
|
||||||
|
Loading…
Reference in New Issue
Block a user