sd-device: also add device_get_sysattr_streq()
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user