summaryrefslogtreecommitdiff
path: root/src/libsystemd/sd-device/sd-device.c
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2021-02-18 23:06:31 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2021-02-21 04:30:42 +0900
commit2a394d0bf2f0afd8b9ed5faeb33f23459e3c6504 (patch)
tree7e6e8fe4da001cd4d68e57adb9be4187148a9920 /src/libsystemd/sd-device/sd-device.c
parent23ff570ba885b4112d6a0c972acf13c17e5ba775 (diff)
downloadsystemd-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.c9
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 */