From f3178da032f7b117324970fa5142edeba0e49098 Mon Sep 17 00:00:00 2001 From: Andrea Bolognani Date: Thu, 22 Jun 2017 18:08:46 +0800 Subject: [PATCH] qemu: Remove duplicated code in qemuBuildSerialChrDeviceStr() The call to qemuBuildDeviceAddressStr() happens no matter what, so we can move it to the outer possible scope inside the function. We can also move the call to virBufferAsprintf() after all the checks have been performed, where it makes more sense. Signed-off-by: Andrea Bolognani --- src/qemu/qemu_command.c | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 83b277beeb..0ce5aa5906 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -10134,14 +10134,8 @@ qemuBuildSerialChrDeviceStr(char **deviceStr, serial->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO) { virBufferAsprintf(&cmd, "spapr-vty,chardev=char%s", serial->info.alias); - if (qemuBuildDeviceAddressStr(&cmd, def, &serial->info, qemuCaps) < 0) - goto error; } } else { - virBufferAsprintf(&cmd, "%s,chardev=char%s,id=%s", - virDomainChrSerialTargetTypeToString(serial->targetType), - serial->info.alias, serial->info.alias); - switch (serial->targetType) { case VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_USB: if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_USB_SERIAL)) { @@ -10156,9 +10150,6 @@ qemuBuildSerialChrDeviceStr(char **deviceStr, _("usb-serial requires address of usb type")); goto error; } - - if (qemuBuildDeviceAddressStr(&cmd, def, &serial->info, qemuCaps) < 0) - goto error; break; case VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_ISA: @@ -10168,9 +10159,6 @@ qemuBuildSerialChrDeviceStr(char **deviceStr, _("isa-serial requires address of isa type")); goto error; } - - if (qemuBuildDeviceAddressStr(&cmd, def, &serial->info, qemuCaps) < 0) - goto error; break; case VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_PCI: @@ -10186,13 +10174,17 @@ qemuBuildSerialChrDeviceStr(char **deviceStr, _("pci-serial requires address of pci type")); goto error; } - - if (qemuBuildDeviceAddressStr(&cmd, def, &serial->info, qemuCaps) < 0) - goto error; break; } + + virBufferAsprintf(&cmd, "%s,chardev=char%s,id=%s", + virDomainChrSerialTargetTypeToString(serial->targetType), + serial->info.alias, serial->info.alias); } + if (qemuBuildDeviceAddressStr(&cmd, def, &serial->info, qemuCaps) < 0) + goto error; + if (virBufferCheckError(&cmd) < 0) goto error;