Using an uninitialized value and a bool saying if the value is valid may confuse compilators. --- src/conf/domain_conf.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 46d49a2..6dc8cf3 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -3883,26 +3883,28 @@ virDomainHostdevAssignAddress(virDomainXMLOptionPtr xmlopt, virDomainDefPtr def, virDomainHostdevDefPtr hostdev) { - int next_unit; + int next_unit = 0; unsigned nscsi_controllers = 0; - bool found = false; int i; + int ret; if (hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI) return -1; - for (i = 0; i < def->ncontrollers && !found; i++) { + for (i = 0; i < def->ncontrollers; i++) { if (def->controllers[i]->type != VIR_DOMAIN_CONTROLLER_TYPE_SCSI) continue; nscsi_controllers++; - next_unit = virDomainControllerSCSINextUnit(def, - xmlopt->config.hasWideScsiBus ? - SCSI_WIDE_BUS_MAX_CONT_UNIT : - SCSI_NARROW_BUS_MAX_CONT_UNIT, - def->controllers[i]->idx); - if (next_unit >= 0) - found = true; + ret = virDomainControllerSCSINextUnit(def, + xmlopt->config.hasWideScsiBus ? + SCSI_WIDE_BUS_MAX_CONT_UNIT : + SCSI_NARROW_BUS_MAX_CONT_UNIT, + def->controllers[i]->idx); + if (ret >= 0) { + next_unit = ret; + break; + } } hostdev->info->type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DRIVE; @@ -3912,7 +3914,7 @@ virDomainHostdevAssignAddress(virDomainXMLOptionPtr xmlopt, nscsi_controllers; hostdev->info->addr.drive.bus = 0; hostdev->info->addr.drive.target = 0; - hostdev->info->addr.drive.unit = found ? next_unit : 0; + hostdev->info->addr.drive.unit = next_unit; return 0; } -- 1.8.2.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list