From 6979c001c2fbb0dcdbc8678182d062a7ca0f74fe Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 8 Jan 2018 01:35:44 +0900 Subject: sd-device: use chase_symlinks() (cherry picked from commit 5bbe8eab3443169a496d6b287e7c2291d63cd115) --- src/libsystemd/sd-device/sd-device.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c index a96d7445c..49c157b8c 100644 --- a/src/libsystemd/sd-device/sd-device.c +++ b/src/libsystemd/sd-device/sd-device.c @@ -166,21 +166,11 @@ int device_set_syspath(sd_device *device, const char *_syspath, bool verify) { } if (verify) { - r = readlink_and_canonicalize(_syspath, NULL, &syspath); + r = chase_symlinks(_syspath, NULL, 0, &syspath); if (r == -ENOENT) /* the device does not exist (any more?) */ return -ENODEV; - else if (r == -EINVAL) { - /* not a symlink */ - syspath = canonicalize_file_name(_syspath); - if (!syspath) { - if (errno == ENOENT) - /* the device does not exist (any more?) */ - return -ENODEV; - - return log_debug_errno(errno, "sd-device: could not canonicalize '%s': %m", _syspath); - } - } else if (r < 0) { + else if (r < 0) { log_debug_errno(r, "sd-device: could not get target of '%s': %m", _syspath); return r; } -- cgit v1.2.3-65-gdbad