From: Yu Watanabe Date: Mon, 11 Apr 2022 03:05:36 +0000 (+0900) Subject: udev: use path_make_relative_parent() X-Git-Tag: v252-rc1~207^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d6595c5ced636d44dc40adfb0b7cfc929bcac7a3;p=thirdparty%2Fsystemd.git udev: use path_make_relative_parent() --- diff --git a/src/udev/udev-node.c b/src/udev/udev-node.c index f358564b41e..5a011cf86b8 100644 --- a/src/udev/udev-node.c +++ b/src/udev/udev-node.c @@ -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);