Skip to content

Commit dabb7c2

Browse files
arrowdzeising
authored andcommitted
Implement udev_device_set_sysattr_value(). Fixes #17
1 parent 2350596 commit dabb7c2

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

libudev.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ char const *udev_device_get_property_value(struct udev_device *udev_device,
3333
char const *property);
3434
char const *udev_device_get_sysattr_value(
3535
struct udev_device *udev_device, const char *sysattr);
36+
int udev_device_set_sysattr_value(
37+
struct udev_device *udev_device, const char *sysattr, const char *value);
3638
struct udev_list_entry * udev_device_get_properties_list_entry(
3739
struct udev_device *udev_device);
3840
struct udev_list_entry * udev_device_get_sysattr_list_entry(

udev-device.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,22 @@ udev_device_get_sysattr_value(struct udev_device *ud, const char *sysattr)
230230
return (NULL);
231231
}
232232

233+
LIBUDEV_EXPORT int
234+
udev_device_set_sysattr_value(struct udev_device *ud, const char *sysattr, const char *value)
235+
{
236+
struct udev_list_entry *entry;
237+
238+
udev_list_entry_foreach(entry, udev_list_entry_get_first(&ud->sysattr_list)) {
239+
char const *key;
240+
241+
key = _udev_list_entry_get_name(entry);
242+
if (key && strcmp(key, sysattr) == 0)
243+
return -1;
244+
}
245+
246+
return udev_list_insert(&ud->sysattr_list, sysattr, value);
247+
}
248+
233249
LIBUDEV_EXPORT struct udev *
234250
udev_device_get_udev(struct udev_device *ud)
235251
{

0 commit comments

Comments
 (0)