]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev: use path_make_relative_parent()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 11 Apr 2022 03:05:36 +0000 (12:05 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 2 Sep 2022 20:01:52 +0000 (05:01 +0900)
src/udev/udev-node.c

index f358564b41e6089ac7d63bf51596553dd6f8eaea..5a011cf86b8efa6be3f2b37f8aba39a74e3498fc 100644 (file)
@@ -64,7 +64,7 @@ static int create_symlink(const char *target, const char *slink) {
 }
 
 static int node_symlink(sd_device *dev, const char *devnode, const char *slink) {
-        _cleanup_free_ char *slink_dirname = NULL, *target = NULL;
+        _cleanup_free_ char *target = NULL;
         const char *id, *slink_tmp;
         struct stat st;
         int r;
@@ -81,12 +81,8 @@ static int node_symlink(sd_device *dev, const char *devnode, const char *slink)
         } else if (errno != ENOENT)
                 return log_device_debug_errno(dev, errno, "Failed to lstat() '%s': %m", slink);
 
-        r = path_extract_directory(slink, &slink_dirname);
-        if (r < 0)
-                return log_device_debug_errno(dev, r, "Failed to get parent directory of '%s': %m", slink);
-
         /* use relative link */
-        r = path_make_relative(slink_dirname, devnode, &target);
+        r = path_make_relative_parent(slink, devnode, &target);
         if (r < 0)
                 return log_device_debug_errno(dev, r, "Failed to get relative path from '%s' to '%s': %m", slink, devnode);