chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7df0ed8
)
libudev: enumerate - do not ignore other matches when add_match_tag() is used
author
Kay Sievers
<kay.sievers@vrfy.org>
Thu, 26 May 2011 00:15:43 +0000
(
02:15
+0200)
committer
Kay Sievers
<kay.sievers@vrfy.org>
Thu, 26 May 2011 00:15:43 +0000
(
02:15
+0200)
libudev/libudev-enumerate.c
patch
|
blob
|
history
diff --git
a/libudev/libudev-enumerate.c
b/libudev/libudev-enumerate.c
index 12de24e244b0982f59df421bedcc4e479c00f4a0..6e51726f083cd0cd8b72084d2b75876181fcc270 100644
(file)
--- a/
libudev/libudev-enumerate.c
+++ b/
libudev/libudev-enumerate.c
@@
-765,7
+765,18
@@
UDEV_EXPORT int udev_enumerate_scan_devices(struct udev_enumerate *udev_enumerat
dev = udev_device_new_from_id_filename(udev_enumerate->udev, dent->d_name);
if (dev == NULL)
continue;
dev = udev_device_new_from_id_filename(udev_enumerate->udev, dent->d_name);
if (dev == NULL)
continue;
+
+ if (!match_subsystem(udev_enumerate, udev_device_get_subsystem(dev)))
+ goto nomatch;
+ if (!match_sysname(udev_enumerate, udev_device_get_sysname(dev)))
+ goto nomatch;
+ if (!match_property(udev_enumerate, dev))
+ goto nomatch;
+ if (!match_sysattr(udev_enumerate, dev))
+ goto nomatch;
+
syspath_add(udev_enumerate, udev_device_get_syspath(dev));
syspath_add(udev_enumerate, udev_device_get_syspath(dev));
+nomatch:
udev_device_unref(dev);
}
closedir(dir);
udev_device_unref(dev);
}
closedir(dir);