diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2023-01-09 06:07:16 +0100 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2023-01-09 07:00:56 +0100 |
commit | 1de6a49721957a85a4934ddbdf88d535774597b1 (patch) | |
tree | f9eea87bac61a1c0dc8e235d259d7d947c3cbbd6 /src/libsystemd/sd-device/device-private.c | |
parent | sd-device: make device_set_syspath() clear sysname and sysnum (diff) | |
download | systemd-1de6a49721957a85a4934ddbdf88d535774597b1.tar.xz systemd-1de6a49721957a85a4934ddbdf88d535774597b1.zip |
sd-device: do not directly access entry in sd-device object
No functional change, just refactoring.
Diffstat (limited to 'src/libsystemd/sd-device/device-private.c')
-rw-r--r-- | src/libsystemd/sd-device/device-private.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/libsystemd/sd-device/device-private.c b/src/libsystemd/sd-device/device-private.c index 9553938931..7a5d128cc1 100644 --- a/src/libsystemd/sd-device/device-private.c +++ b/src/libsystemd/sd-device/device-private.c @@ -620,7 +620,7 @@ int device_get_devlink_priority(sd_device *device, int *ret) { int device_rename(sd_device *device, const char *name) { _cleanup_free_ char *new_syspath = NULL; - const char *interface; + const char *s; int r; assert(device); @@ -629,7 +629,11 @@ int device_rename(sd_device *device, const char *name) { if (!filename_is_valid(name)) return -EINVAL; - r = path_extract_directory(device->syspath, &new_syspath); + r = sd_device_get_syspath(device, &s); + if (r < 0) + return r; + + r = path_extract_directory(s, &new_syspath); if (r < 0) return r; @@ -641,18 +645,18 @@ int device_rename(sd_device *device, const char *name) { /* At the time this is called, the renamed device may not exist yet. Hence, we cannot validate * the new syspath. */ - r = device_set_syspath(device, new_syspath, false); + r = device_set_syspath(device, new_syspath, /* verify = */ false); if (r < 0) return r; - r = sd_device_get_property_value(device, "INTERFACE", &interface); + r = sd_device_get_property_value(device, "INTERFACE", &s); if (r == -ENOENT) return 0; if (r < 0) return r; /* like DEVPATH_OLD, INTERFACE_OLD is not saved to the db, but only stays around for the current event */ - r = device_add_property_internal(device, "INTERFACE_OLD", interface); + r = device_add_property_internal(device, "INTERFACE_OLD", s); if (r < 0) return r; |