- udev_list_entry_foreach(ud_entry, ud_list) {
- path = udev_list_entry_get_name(ud_entry);
- DEBUG("Found device %s", path);
- ud_dev = udev_device_new_from_syspath(ud, path);
- /* If there is no parent device, this is a virtual tty. */
- ud_parent = udev_device_get_parent(ud_dev);
- if (ud_parent == NULL) {
- DEBUG("No parent device, assuming virtual tty");
- udev_device_unref(ud_dev);
+ while (!readdir_r(dir, &entry, &result) && result) {
+ len = readlinkat(dirfd(dir), entry.d_name, target, sizeof(target));
+ if (len <= 0 || len >= (int) sizeof(target)-1)