summaryrefslogtreecommitdiff
path: root/recipes/sysfsutils/sysfsutils-1.2.0/libsysfs-write-attribute.patch
diff options
context:
space:
mode:
authorLukas Gorris <lukas.gorris@gmail.com>2009-03-30 21:20:14 +0200
committerLukas Gorris <lukas.gorris@gmail.com>2009-03-30 21:20:14 +0200
commita93dfebb9e7a34ffba9b1ae5e8e496dfab4c3c43 (patch)
tree6c38a4617c92398269e6603a0509fc3006811368 /recipes/sysfsutils/sysfsutils-1.2.0/libsysfs-write-attribute.patch
parent4255898da29e7e0c521d064afedbc4075b3e8155 (diff)
parentd7fdcef3d8c8b80926d579c2db179b594429cebe (diff)
Merge branch 'org.openembedded.dev' of git@git.openembedded.net:openembedded into org.openembedded.dev
Diffstat (limited to 'recipes/sysfsutils/sysfsutils-1.2.0/libsysfs-write-attribute.patch')
-rw-r--r--recipes/sysfsutils/sysfsutils-1.2.0/libsysfs-write-attribute.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/recipes/sysfsutils/sysfsutils-1.2.0/libsysfs-write-attribute.patch b/recipes/sysfsutils/sysfsutils-1.2.0/libsysfs-write-attribute.patch
new file mode 100644
index 0000000000..447d90f588
--- /dev/null
+++ b/recipes/sysfsutils/sysfsutils-1.2.0/libsysfs-write-attribute.patch
@@ -0,0 +1,29 @@
+Hi,
+
+int sysfs_write_attribute(struct sysfs_attribute *sysattr,
+ const char *new_value, size_t len)
+
+has a problematic "feature": if the file is empty but readable, nothing gets
+written into it. The attached patch (untested) should fix it.
+
+ Dominik
+
+
+The check which tests whether the value to be written into a sysfs attribute
+is already there should only trigger if the length of both strings is the
+same.
+
+Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
+
+--- sysfsutils-1.2.0/lib/sysfs_dir.c.original 2005-02-21 08:10:33.000000000 +0100
++++ sysfsutils-1.2.0/lib/sysfs_dir.c 2005-02-21 08:14:01.000000000 +0100
+@@ -194,7 +194,8 @@
+ dprintf("Error reading attribute\n");
+ return -1;
+ }
+- if ((strncmp(sysattr->value, new_value, sysattr->len)) == 0) {
++ if (((strncmp(sysattr->value, new_value, sysattr->len)) == 0)&&
++ (len == sysattr->len)) {
+ dprintf("Attr %s already has the requested value %s\n",
+ sysattr->name, new_value);
+ return 0;