libudev: enumerate - do not ignore other matches when add_match_tag() is used

This commit is contained in:
Kay Sievers 2011-05-26 02:15:43 +02:00
parent 7df0ed83c1
commit 19e47d9725

View file

@ -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;
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));
nomatch:
udev_device_unref(dev);
}
closedir(dir);