3 int sysfs_write_attribute(struct sysfs_attribute *sysattr,
4 const char *new_value, size_t len)
6 has a problematic "feature": if the file is empty but readable, nothing gets
7 written into it. The attached patch (untested) should fix it.
12 The check which tests whether the value to be written into a sysfs attribute
13 is already there should only trigger if the length of both strings is the
16 Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
18 --- sysfsutils-1.2.0/lib/sysfs_dir.c.original 2005-02-21 08:10:33.000000000 +0100
19 +++ sysfsutils-1.2.0/lib/sysfs_dir.c 2005-02-21 08:14:01.000000000 +0100
21 dprintf("Error reading attribute\n");
24 - if ((strncmp(sysattr->value, new_value, sysattr->len)) == 0) {
25 + if (((strncmp(sysattr->value, new_value, sysattr->len)) == 0)&&
26 + (len == sysattr->len)) {
27 dprintf("Attr %s already has the requested value %s\n",
28 sysattr->name, new_value);