Move out the PCI controller's subelements formatting out of the switch handling attributes. This removes the need for a few bool variables. --- src/conf/domain_conf.c | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 02b2e49..e50628f 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -21409,7 +21409,6 @@ virDomainControllerDefFormat(virBufferPtr buf, const char *type = virDomainControllerTypeToString(def->type); const char *model = NULL; const char *modelName = NULL; - bool pcihole64 = false, pciModel = false, pciTarget = false; virBuffer childBuf = VIR_BUFFER_INITIALIZER; virBufferAdjustIndent(&childBuf, virBufferGetIndent(buf, false) + 2); @@ -21456,25 +21455,12 @@ virDomainControllerDefFormat(virBufferPtr buf, } break; - case VIR_DOMAIN_CONTROLLER_TYPE_PCI: - if (def->opts.pciopts.pcihole64) - pcihole64 = true; - if (def->opts.pciopts.modelName != VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_NONE) - pciModel = true; - if (def->opts.pciopts.chassisNr != -1 || - def->opts.pciopts.chassis != -1 || - def->opts.pciopts.port != -1 || - def->opts.pciopts.busNr != -1 || - def->opts.pciopts.numaNode != -1) - pciTarget = true; - break; - default: break; } - if (pciModel || pciTarget) { - if (pciModel) { + if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI) { + if (def->opts.pciopts.modelName != VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_NONE) { modelName = virDomainControllerPCIModelNameTypeToString(def->opts.pciopts.modelName); if (!modelName) { virReportError(VIR_ERR_INTERNAL_ERROR, @@ -21485,7 +21471,11 @@ virDomainControllerDefFormat(virBufferPtr buf, virBufferAsprintf(&childBuf, "<model name='%s'/>\n", modelName); } - if (pciTarget) { + if (def->opts.pciopts.chassisNr != -1 || + def->opts.pciopts.chassis != -1 || + def->opts.pciopts.port != -1 || + def->opts.pciopts.busNr != -1 || + def->opts.pciopts.numaNode != -1) { virBufferAddLit(&childBuf, "<target"); if (def->opts.pciopts.chassisNr != -1) virBufferAsprintf(&childBuf, " chassisNr='%d'", @@ -21518,7 +21508,8 @@ virDomainControllerDefFormat(virBufferPtr buf, virDomainDeviceInfoFormat(&childBuf, &def->info, flags) < 0) return -1; - if (pcihole64) { + if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI && + def->opts.pciopts.pcihole64) { virBufferAsprintf(&childBuf, "<pcihole64 unit='KiB'>%lu</" "pcihole64>\n", def->opts.pciopts.pcihole64size); } -- 2.10.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list