lsblk: normalize space in SERIAL and MODEL

These strings come from HW and udev does not modify it. It seems good
idea to clean up it before we print it.

Fixes: https://github.com/karelzak/util-linux/issues/1368
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2021-06-30 12:25:18 +02:00
parent 9c092ff340
commit 16a1c8dcdf
1 changed files with 6 additions and 2 deletions

View File

@ -112,15 +112,19 @@ static struct lsblk_devprop *get_properties_by_udev(struct lsblk_device *ld)
data = udev_device_get_property_value(dev, "ID_SERIAL_SHORT");
if(!data)
data = udev_device_get_property_value(dev, "ID_SERIAL");
if (data)
if (data) {
prop->serial = xstrdup(data);
normalize_whitespace((unsigned char *) prop->serial);
}
if ((data = udev_device_get_property_value(dev, "ID_MODEL_ENC"))) {
prop->model = xstrdup(data);
unhexmangle_string(prop->model);
normalize_whitespace((unsigned char *) prop->model);
} else if ((data = udev_device_get_property_value(dev, "ID_MODEL")))
} else if ((data = udev_device_get_property_value(dev, "ID_MODEL"))) {
prop->model = xstrdup(data);
normalize_whitespace((unsigned char *) prop->model);
}
udev_device_unref(dev);
DBG(DEV, ul_debugobj(ld, "%s: found udev properties", ld->name));