From b376d32cb462455053061d2cf3da3ac640fd37ee Mon Sep 17 00:00:00 2001 From: "dsteklof@us.ibm.com" Date: Wed, 26 Nov 2003 17:31:59 -0800 Subject: [PATCH] [PATCH] quick fix for libsysfs bus There seems to be a mismatch in udev and in libsysfs as to what to expect if the mnt point has a slash on the end or not. If I use the included patch, it breaks something in udev. If I patch sysfs_get_mnt_path I break udev as well because what you're expecting. I need to sit down and go through the library and creaate a rule as to trailing slashes. Adding the env brought this to light. --- libsysfs/sysfs_device.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libsysfs/sysfs_device.c b/libsysfs/sysfs_device.c index fbd046f2..2a5353e6 100644 --- a/libsysfs/sysfs_device.c +++ b/libsysfs/sysfs_device.c @@ -28,6 +28,7 @@ static int confirm_device_bus(struct sysfs_device *dev, { struct sysfs_link *devlink = NULL; unsigned char devpath[SYSFS_PATH_MAX]; + unsigned char *s = NULL; int result = 0; if (busname == NULL || bus_id == NULL) @@ -36,6 +37,9 @@ static int confirm_device_bus(struct sysfs_device *dev, if (sysfs_get_mnt_path(devpath, SYSFS_PATH_MAX) != 0) return -1; + s = &devpath[strlen(devpath)-1]; + if (strncmp(s, "/", 1) == 0) + *s = '\0'; strcat(devpath, SYSFS_BUS_DIR); strcat(devpath, "/"); strcat(devpath, busname); -- 2.39.5