]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
node_device_udev: Fix build failure in ccw device code
authorPeter Krempa <pkrempa@redhat.com>
Wed, 5 Feb 2025 18:27:36 +0000 (19:27 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 5 Feb 2025 18:27:36 +0000 (19:27 +0100)
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>
src/node_device/node_device_udev.c

index 082f9d5cf00900d4ea643206dda5c55578dcfb3b..94e8626aee1706a97156c2476575146fafc2642d 100644 (file)
@@ -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: