From aeb53ca3d60057dfbb948b222046dcecfcc11ed9 Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Wed, 29 Oct 2008 22:22:12 +0100 Subject: [PATCH 1/1] ATTR{}== always fails if the attribute does not exist --- TODO | 1 + udev/udev-rules.c | 7 +++---- udev/udev.xml | 6 ++---- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/TODO b/TODO index 054d52f98..a8d3fc051 100644 --- a/TODO +++ b/TODO @@ -1,3 +1,4 @@ + o add DVB variables to kernel (patch sent), and drop shell script rule o DEVTYPE for disks is set by the kernel, they will be removed from the default rules diff --git a/udev/udev-rules.c b/udev/udev-rules.c index 665ad71e8..f6cc45ba7 100644 --- a/udev/udev-rules.c +++ b/udev/udev-rules.c @@ -1808,11 +1808,10 @@ static int match_attr(struct udev_rules *rules, struct udev_device *dev, struct const char *val; val = udev_device_get_sysattr_value(dev, key_name); - if (val != NULL) - util_strlcpy(value, val, sizeof(value)); + if (val == NULL) + return -1; + util_strlcpy(value, val, sizeof(value)); } - if (value[0] == '\0') - return -1; /* strip trailing whitespace of value, if not asked to match for it */ len = strlen(key_value); diff --git a/udev/udev.xml b/udev/udev.xml index c4e99f1ad..ccc1f45e4 100644 --- a/udev/udev.xml +++ b/udev/udev.xml @@ -186,8 +186,7 @@ Match sysfs attribute values of the event device. Trailing whitespace in the attribute values is ignored, if the specified match - value does not contain trailing whitespace itself. Depending on the type - of operator, this key is also used to set the value of a sysfs attribute. + value does not contain trailing whitespace itself. @@ -318,8 +317,7 @@ The value that should be written to a sysfs attribute of the - event device. Depending on the type of operator, this key is also - used to match against the value of a sysfs attribute. + event device. -- 2.30.2