- /* find the device with the highest priority */
- target[0] = '\0';
- udev_list_entry_foreach(dev_entry, udev_list_get_entry(&dev_list)) {
- const char *syspath;
- struct udev_device *dev_db;
- const char *devnode;
-
- syspath = udev_list_entry_get_name(dev_entry);
- dbg(udev, "found '%s' for '%s'\n", syspath, slink);
-
- /* did we find ourself? we win, if we have the same priority */
- if (strcmp(udev_device_get_syspath(dev), syspath) == 0) {
- dbg(udev, "compare (our own) priority of '%s' %i >= %i\n",
- udev_device_get_devpath(dev), udev_device_get_devlink_priority(dev), priority);
- if (strcmp(udev_device_get_devnode(dev), slink) == 0) {
- info(udev, "'%s' is our device node, database inconsistent, skip link update\n",
- udev_device_get_devnode(dev));
- } else if (target[0] == '\0' || udev_device_get_devlink_priority(dev) >= priority) {
- priority = udev_device_get_devlink_priority(dev);
- util_strscpy(target, sizeof(target), udev_device_get_devnode(dev));
- }
- continue;
- }