From 5d71d711d07a07977ed1a9c4e62f1ea54bb7ecbf Mon Sep 17 00:00:00 2001 From: =?utf8?q?Thomas=20Wei=C3=9Fschuh?= Date: Sun, 8 Jan 2023 03:08:09 +0000 Subject: [PATCH] libblkid: topolicy/ioctl: use union for multiple data types --- libblkid/src/topology/ioctl.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libblkid/src/topology/ioctl.c b/libblkid/src/topology/ioctl.c index b8fce4129d..a7045055fc 100644 --- a/libblkid/src/topology/ioctl.c +++ b/libblkid/src/topology/ioctl.c @@ -46,15 +46,18 @@ static int probe_ioctl_tp(blkid_probe pr, for (i = 0; i < ARRAY_SIZE(topology_vals); i++) { const struct topology_val *val = &topology_vals[i]; int rc = 1; - unsigned int data; + union { + unsigned long ul; + int i; + } data; if (ioctl(pr->fd, val->ioc, &data) == -1) goto nothing; if (val->set_int) - rc = val->set_int(pr, (int) data); + rc = val->set_int(pr, data.i); else - rc = val->set_ulong(pr, (unsigned long) data); + rc = val->set_ulong(pr, data.ul); if (rc) goto err; } -- 2.47.2