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@redhat.com>
{
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));
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: