- strlcpy(path, optarg, sizeof(path));
- remove_trailing_chars(path, '/');
-
- /* possibly resolve to real devpath */
- if (sysfs_resolve_link(path, sizeof(path)) != 0) {
- char temp[PATH_SIZE];
- char *pos;
-
- /* also check if the parent is a link */
- strlcpy(temp, path, sizeof(temp));
- pos = strrchr(temp, '/');
- if (pos != 0) {
- char tail[PATH_SIZE];
-
- strlcpy(tail, pos, sizeof(tail));
- pos[0] = '\0';
- if (sysfs_resolve_link(temp, sizeof(temp)) == 0) {
- strlcpy(path, temp, sizeof(path));
- strlcat(path, tail, sizeof(path));
- }
- }
- }
- dbg("path: %s\n", path);
+ util_strlcpy(path, optarg, sizeof(path));
+ util_remove_trailing_chars(path, '/');
+ device = udev_device_new_from_devpath(udev, path);