diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-02-18 23:06:31 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-02-21 04:30:42 +0900 |
commit | 2a394d0bf2f0afd8b9ed5faeb33f23459e3c6504 (patch) | |
tree | 7e6e8fe4da001cd4d68e57adb9be4187148a9920 /src/libsystemd/sd-device/sd-device.c | |
parent | 23ff570ba885b4112d6a0c972acf13c17e5ba775 (diff) | |
download | systemd-2a394d0bf2f0afd8b9ed5faeb33f23459e3c6504.tar.gz |
sd-device: use delete_trailing_chars()
Also, this drops trailing '\r' from sysattr value set in
sd_device_set_sysattr_value().
Diffstat (limited to 'src/libsystemd/sd-device/sd-device.c')
-rw-r--r-- | src/libsystemd/sd-device/sd-device.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c index 68eabdef1a..5e161ec03f 100644 --- a/src/libsystemd/sd-device/sd-device.c +++ b/src/libsystemd/sd-device/sd-device.c @@ -1916,16 +1916,13 @@ _public_ int sd_device_get_sysattr_value(sd_device *device, const char *sysattr, /* skip non-readable files */ return -EPERM; } else { - size_t size; - /* read attribute value */ - r = read_full_virtual_file(path, &value, &size); + r = read_full_virtual_file(path, &value, NULL); if (r < 0) return r; /* drop trailing newlines */ - while (size > 0 && value[--size] == '\n') - value[size] = '\0'; + delete_trailing_chars(value, "\n"); } r = device_cache_sysattr_value(device, sysattr, value); @@ -1972,7 +1969,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, len = strlen(_value); /* drop trailing newlines */ - while (len > 0 && _value[len - 1] == '\n') + while (len > 0 && strchr(NEWLINE, _value[len - 1])) len --; /* value length is limited to 4k */ |