Use dummy variable to fill 'src' so that access to it doesn't need to be
conditionalized and use temporary variable for 'disk' rather than
dereferencing the array multiple times.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
size_t i;
virStorageSourcePtr tmp = NULL;
- if (src)
- *src = NULL;
+ if (!src)
+ src = &tmp;
for (i = 0; i < def->ndisks; i++) {
- if ((tmp = virStorageSourceFindByNodeName(def->disks[i]->src, nodename))) {
- if (src)
- *src = tmp;
+ virDomainDiskDefPtr domdisk = def->disks[i];
- return def->disks[i];
- }
-
- if (def->disks[i]->mirror &&
- (tmp = virStorageSourceFindByNodeName(def->disks[i]->mirror, nodename))) {
- if (src)
- *src = tmp;
+ if ((*src = virStorageSourceFindByNodeName(domdisk->src, nodename)))
+ return domdisk;
- return def->disks[i];
- }
+ if (domdisk->mirror &&
+ (*src = virStorageSourceFindByNodeName(domdisk->mirror, nodename)))
+ return domdisk;
}
return NULL;