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