[PATCH] libsensors: No longer depend on libsysfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jean:

* Jean Delvare <khali at linux-fr.org> [2007-12-10 14:30:57 +0100]:
> On Sun, 2 Dec 2007 21:42:39 +0100, Jean Delvare wrote:
> > Well, I have no reason to believe that anything is wrong with this
> > patch, as all my testing has been successful. Feel free to apply it to
> > Rawhide if you want. I would like to commit the change soon, the only
> > thing I am waiting for at the moment is Mark's ack, as we had been
> > discussing the matter before, he might want to comment on the approach
> > I took in my patch.
> 
> Patch is committed now.

I've finally finished reviewing this.  I only have one minor change to
suggest, which IMHO makes the code a little more readable at very little
expense in cycles and no expense in size.

Index: lib/sysfs.c
===================================================================
--- lib/sysfs.c	(revision 5072)
+++ lib/sysfs.c	(working copy)
@@ -73,7 +73,7 @@
  * local errors, or a negative error value if any call fails.
  */
 static int sysfs_foreach_classdev(const char *class_name,
-				   int (*func)(char *, const char*))
+				   int (*func)(const char *, const char *))
 {
 	char path[NAME_MAX];
 	int path_off, ret;
@@ -105,7 +105,7 @@
  * local errors, or a negative error value if any call fails.
  */
 static int sysfs_foreach_busdev(const char *bus_type,
-				 int (*func)(char *, const char*))
+				 int (*func)(const char *, const char *))
 {
 	char path[NAME_MAX];
 	int path_off, ret;
@@ -455,7 +455,7 @@
 }
 
 /* returns: 0 if successful, !0 otherwise */
-static int sensors_read_one_sysfs_chip(char *dev_path, const char *dev_name)
+static int sensors_read_one_sysfs_chip(const char *dev_path, const char *dev_name)
 {
 	int domain, bus, slot, fn;
 	int err = -SENSORS_ERR_KERNEL;
@@ -539,20 +539,20 @@
 	return 0;
 }
 
-static int sensors_add_hwmon_device(char *path, const char *classdev)
+static int sensors_add_hwmon_device(const char *path, const char *classdev)
 {
+	char linkpath[NAME_MAX];
 	char device[NAME_MAX];
-	int path_off = strlen(path);
 	int dev_len;
 	(void)classdev; /* hide warning */
 
-	snprintf(path + path_off, NAME_MAX - path_off, "/device");
-	dev_len = readlink(path, device, NAME_MAX - 1);
+	snprintf(linkpath, NAME_MAX, "%s/device", path);
+	dev_len = readlink(linkpath, device, NAME_MAX - 1);
 	if (dev_len < 0)
 		return -SENSORS_ERR_KERNEL;
 	device[dev_len] = '\0';
 
-	return sensors_read_one_sysfs_chip(path, strrchr(device, '/') + 1);
+	return sensors_read_one_sysfs_chip(linkpath, strrchr(device, '/') + 1);
 }
 
 /* returns 0 if successful, !0 otherwise */
@@ -572,7 +572,7 @@
 }
 
 /* returns 0 if successful, !0 otherwise */
-static int sensors_add_i2c_bus(char *path, const char *classdev)
+static int sensors_add_i2c_bus(const char *path, const char *classdev)
 {
 	sensors_bus entry;
 
-- 
Mark M. Hoffman
mhoffman at lightlink.com





[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux