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@xxxxxxxxxx> --- 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