These while loops exit directly due to break after entering.
Use if instead of these while loops.
Signed-off-by: Jiang Jiacheng <jiangjiacheng@huawei.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
if (virDirOpen(&block_dir, block_path) < 0)
return -1;
- while ((direrr = virDirRead(block_dir, &block_dirent, block_path)) > 0) {
+ if ((direrr = virDirRead(block_dir, &block_dirent, block_path)) > 0) {
*block_device = g_strdup(block_dirent->d_name);
VIR_DEBUG("Block device is '%s'", *block_device);
-
- break;
}
if (direrr < 0)
{
g_autoptr(DIR) iommuDir = NULL;
struct dirent *iommuGroup = NULL;
- int direrr;
if (virDirOpenQuiet(&iommuDir, "/sys/kernel/iommu_groups/") < 0)
return false;
- while ((direrr = virDirRead(iommuDir, &iommuGroup, NULL)) > 0)
- break;
-
- if (direrr < 0 || !iommuGroup)
+ if (virDirRead(iommuDir, &iommuGroup, NULL) < 0 || !iommuGroup)
return false;
return true;