From ad01edf194ffa39b73610e340127eb935088835f Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Sun, 11 Dec 2022 17:46:16 +0200 Subject: [PATCH] solid: do not assume properties contain latin1 characters only the SYMLINK property for example is documented to (maybe) contain UTF-8 encoded characters, for reference: https://man7.org/linux/man-pages/man7/udev.7.html Signed-off-by: Ivailo Monev --- solid/solid/backends/udev/udevqt.h | 2 +- solid/solid/backends/udev/udevqtdevice.cpp | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/solid/solid/backends/udev/udevqt.h b/solid/solid/backends/udev/udevqt.h index 57420b83..6da0de8a 100644 --- a/solid/solid/backends/udev/udevqt.h +++ b/solid/solid/backends/udev/udevqt.h @@ -98,7 +98,7 @@ static inline QStringList listFromListEntry(struct udev_list_entry *list) QStringList ret; struct udev_list_entry *entry; udev_list_entry_foreach(entry, list) { - ret << QString::fromLatin1(udev_list_entry_get_name(entry)); + ret << QString::fromUtf8(udev_list_entry_get_name(entry)); } return ret; } diff --git a/solid/solid/backends/udev/udevqtdevice.cpp b/solid/solid/backends/udev/udevqtdevice.cpp index b67091ef..dd036bf9 100644 --- a/solid/solid/backends/udev/udevqtdevice.cpp +++ b/solid/solid/backends/udev/udevqtdevice.cpp @@ -82,7 +82,7 @@ QString Device::devType() const if (!m_device) { return QString(); } - return QString::fromLatin1(udev_device_get_devtype(m_device)); + return QString::fromUtf8(udev_device_get_devtype(m_device)); } QString Device::name() const @@ -90,7 +90,7 @@ QString Device::name() const if (!m_device) { return QString(); } - return QString::fromLatin1(udev_device_get_sysname(m_device)); + return QString::fromUtf8(udev_device_get_sysname(m_device)); } QString Device::sysfsPath() const @@ -98,7 +98,7 @@ QString Device::sysfsPath() const if (!m_device) { return QString(); } - return QString::fromLatin1(udev_device_get_syspath(m_device)); + return QString::fromUtf8(udev_device_get_syspath(m_device)); } int Device::sysfsNumber() const @@ -156,7 +156,7 @@ QString Device::deviceProperty(const QByteArray &name) const if (!m_device) { return QString(); } - return QString::fromLatin1(udev_device_get_property_value(m_device, name.constData())); + return QString::fromUtf8(udev_device_get_property_value(m_device, name.constData())); } QString Device::sysfsProperty(const QByteArray &name) const @@ -164,7 +164,7 @@ QString Device::sysfsProperty(const QByteArray &name) const if (!m_device) { return QString(); } - return QString::fromLatin1(udev_device_get_sysattr_value(m_device, name.constData())); + return QString::fromUtf8(udev_device_get_sysattr_value(m_device, name.constData())); } }