[libgudev/wip/hadess/fix-sysfs-attr: 3/4] gudev: Fix 'Y' in _sysfs_attr_as_boolean_uncached()
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgudev/wip/hadess/fix-sysfs-attr: 3/4] gudev: Fix 'Y' in _sysfs_attr_as_boolean_uncached()
- Date: Tue, 16 Mar 2021 11:10:29 +0000 (UTC)
commit 70db9f988b23020b353f1936b024a6fc49afe6c5
Author: Bastien Nocera <hadess hadess net>
Date: Tue Mar 16 12:02:13 2021 +0100
gudev: Fix 'Y' in _sysfs_attr_as_boolean_uncached()
The changes made haphazardly in e186dac0 and 31e31d52 were documented
for _sysfs_attr_as_boolean_uncached() but not implemented.
gudev/gudevdevice.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/gudev/gudevdevice.c b/gudev/gudevdevice.c
index b38bd4d..ec792da 100644
--- a/gudev/gudevdevice.c
+++ b/gudev/gudevdevice.c
@@ -1171,18 +1171,26 @@ g_udev_device_get_sysfs_attr_as_boolean_uncached (GUdevDevice *device,
const gchar *name)
{
gboolean result;
- const gchar *s;
+ const gchar *raw;
+ g_autofree char *truncated = NULL;
+ const char *s;
g_return_val_if_fail (G_UDEV_IS_DEVICE (device), FALSE);
g_return_val_if_fail (name != NULL, FALSE);
result = FALSE;
- s = g_udev_device_get_sysfs_attr_uncached (device, name);
- if (s == NULL)
+ raw = g_udev_device_get_sysfs_attr_uncached (device, name);
+ if (raw == NULL)
goto out;
- if (strcmp (s, "1") == 0 || g_ascii_strcasecmp (s, "true") == 0)
+ truncated = truncate_at_linefeed (raw);
+ s = truncated ?: raw;
+ if (strcmp (s, "1") == 0 ||
+ g_ascii_strcasecmp (s, "true") == 0 ||
+ g_ascii_strcasecmp (s, "y") == 0) {
result = TRUE;
+ }
+
out:
return result;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]