sd-device: also add device_get_sysattr_streq()

This commit is contained in:
Yu Watanabe
2026-05-18 02:55:56 +09:00
parent 1e39d3eb08
commit 247e4caa3c
3 changed files with 19 additions and 0 deletions
@@ -16,6 +16,7 @@ int device_get_property_bool(sd_device *device, const char *key);
int device_get_property_int(sd_device *device, const char *key, int *ret);
int device_get_property_uint(sd_device *device, const char *key, unsigned *ret);
int device_get_ifname(sd_device *device, const char **ret);
int device_get_sysattr_streq(sd_device *device, const char *sysattr, const char *expected);
int device_get_sysattr_safe_string(sd_device *device, const char *sysattr, const char **ret);
int device_get_sysattr_int(sd_device *device, const char *sysattr, int *ret);
int device_get_sysattr_unsigned_full(sd_device *device, const char *sysattr, unsigned base, unsigned *ret);
+13
View File
@@ -2619,6 +2619,19 @@ _public_ int sd_device_get_sysattr_value(sd_device *device, const char *sysattr,
return sd_device_get_sysattr_value_with_size(device, sysattr, ret, NULL);
}
int device_get_sysattr_streq(sd_device *device, const char *sysattr, const char *expected) {
const char *value;
int r;
assert(expected);
r = sd_device_get_sysattr_value(device, sysattr, &value);
if (r < 0)
return r;
return streq(value, expected);
}
int device_get_sysattr_safe_string(sd_device *device, const char *sysattr, const char **ret) {
const char *value;
int r;
@@ -341,6 +341,11 @@ static void test_sd_device_one(sd_device *d) {
ASSERT_OK_POSITIVE(device_get_sysattr_u8(d, "ifindex", &u8));
ASSERT_EQ(u8, (uint8_t) ifindex);
}
const char *s;
ASSERT_OK(sd_device_get_sysattr_value(d, "ifindex", &s));
ASSERT_OK_POSITIVE(device_get_sysattr_streq(d, "ifindex", s));
ASSERT_OK_ZERO(device_get_sysattr_streq(d, "ifindex", "hoge"));
}
}