mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-11 05:17:44 +03:00
[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.
This commit is contained in:
parent
ff44a6b0b7
commit
b376d32cb4
@ -28,6 +28,7 @@ static int confirm_device_bus(struct sysfs_device *dev,
|
|||||||
{
|
{
|
||||||
struct sysfs_link *devlink = NULL;
|
struct sysfs_link *devlink = NULL;
|
||||||
unsigned char devpath[SYSFS_PATH_MAX];
|
unsigned char devpath[SYSFS_PATH_MAX];
|
||||||
|
unsigned char *s = NULL;
|
||||||
int result = 0;
|
int result = 0;
|
||||||
|
|
||||||
if (busname == NULL || bus_id == NULL)
|
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)
|
if (sysfs_get_mnt_path(devpath, SYSFS_PATH_MAX) != 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
s = &devpath[strlen(devpath)-1];
|
||||||
|
if (strncmp(s, "/", 1) == 0)
|
||||||
|
*s = '\0';
|
||||||
strcat(devpath, SYSFS_BUS_DIR);
|
strcat(devpath, SYSFS_BUS_DIR);
|
||||||
strcat(devpath, "/");
|
strcat(devpath, "/");
|
||||||
strcat(devpath, busname);
|
strcat(devpath, busname);
|
||||||
|
Loading…
Reference in New Issue
Block a user