From: Yu Watanabe Date: Thu, 18 Feb 2021 14:06:31 +0000 (+0900) Subject: sd-device: use delete_trailing_chars() X-Git-Tag: v248-rc1~19^2~16 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2a394d0bf2f0afd8b9ed5faeb33f23459e3c6504;p=thirdparty%2Fsystemd.git sd-device: use delete_trailing_chars() Also, this drops trailing '\r' from sysattr value set in sd_device_set_sysattr_value(). --- diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c index 68eabdef1a2..5e161ec03ff 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 */