clang complains:
../../../libvirt/src/node_device/node_device_udev.c:1408:82: error: result of comparison
of unsigned enum expression < 0 is always false
[-Werror,-Wtautological-unsigned-enum-zero-compare]
1408 | if ((data->ccwgroup_dev.type =
virNodeDevCCWGroupCapTypeFromString(devtype)) < 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
~
1 error generated.
Fix it by adding a temporary int variable to facilitate the check before
assigning to the unsigned enum value.
Fixes: 985cb9c32a6
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/node_device/node_device_udev.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
index 082f9d5cf0..94e8626aee 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -1398,6 +1398,7 @@ udevProcessCCWGroup(struct udev_device *device,
{
const char *devtype = udev_device_get_devtype(device);
virNodeDevCapData *data = &def->caps->data;
+ int tmp;
data->ccwgroup_dev.address =
virCCWDeviceAddressFromString(udev_device_get_sysname(device));
@@ -1405,9 +1406,11 @@ udevProcessCCWGroup(struct udev_device *device,
udevGenerateDeviceName(device, def, NULL);
- if ((data->ccwgroup_dev.type = virNodeDevCCWGroupCapTypeFromString(devtype)) <
0)
+ if ((tmp = virNodeDevCCWGroupCapTypeFromString(devtype)) < 0)
return -1;
+ data->ccwgroup_dev.type = tmp;
+
switch (data->ccwgroup_dev.type) {
case VIR_NODE_DEV_CAP_CCWGROUP_QETH_GENERIC:
case VIR_NODE_DEV_CAP_CCWGROUP_QETH_LAYER2:
--
2.48.1