X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fsysfs-show.c;h=b8b356d77b1945ddcb4adf57340e45384d66ff77;hb=75d3fc60f88e08bf953063819a8a04b881d6db23;hp=b456bf1271c730c45097533c452116f28c819515;hpb=88e3dc903bd543a74b8699c1575b0da9eeab24a2;p=elogind.git diff --git a/src/sysfs-show.c b/src/sysfs-show.c index b456bf127..b8b356d77 100644 --- a/src/sysfs-show.c +++ b/src/sysfs-show.c @@ -26,23 +26,6 @@ #include "util.h" #include "sysfs-show.h" -static bool device_has_tag(struct udev_device *d, const char *tag) { - struct udev_list_entry *first, *item; - - assert(d); - assert(tag); - - /* FIXME */ - udev_device_get_is_initialized(d); - - first = udev_device_get_tags_list_entry(d); - udev_list_entry_foreach(item, first) - if (streq(udev_list_entry_get_name(item), tag)) - return true; - - return false; -} - static int show_sysfs_one( struct udev *udev, const char *seat, @@ -77,7 +60,7 @@ static int show_sysfs_one( sn = "seat0"; /* fixme, also check for tag 'seat' here */ - if (!streq(seat, sn) || !device_has_tag(d, "seat")) { + if (!streq(seat, sn) || !udev_device_has_tag(d, "seat")) { udev_device_unref(d); *item = udev_list_entry_get_next(*item); continue; @@ -109,7 +92,7 @@ static int show_sysfs_one( if (isempty(lookahead_sn)) lookahead_sn = "seat0"; - found = streq(seat, lookahead_sn) && device_has_tag(lookahead_d, "seat"); + found = streq(seat, lookahead_sn) && udev_device_has_tag(lookahead_d, "seat"); udev_device_unref(lookahead_d); if (found) @@ -182,6 +165,9 @@ int show_sysfs(const char *seat, const char *prefix, unsigned n_columns) { else r = udev_enumerate_add_match_tag(e, "seat"); + if (r < 0) + goto finish; + r = udev_enumerate_scan_devices(e); if (r < 0) goto finish;