mirror of
https://github.com/systemd/systemd.git
synced 2025-03-01 08:58:29 +03:00
[PATCH] libsysfs: remove trailing slash on SYSFS_PATH override
This commit is contained in:
parent
69b5c2ca51
commit
93ca11e4be
@ -43,14 +43,14 @@
|
||||
#define SYSFS_NAME_LEN 64
|
||||
#define SYSFS_BUS_ID_SIZE 32
|
||||
|
||||
/* mount path for sysfs, can be overridden by exporting SYSFS_PATH */
|
||||
#define SYSFS_MNT_PATH "/sys"
|
||||
|
||||
enum sysfs_attribute_method {
|
||||
SYSFS_METHOD_SHOW = 0x01, /* attr can be read by user */
|
||||
SYSFS_METHOD_STORE = 0x02, /* attr can be changed by user */
|
||||
};
|
||||
|
||||
/* NOTE: statically define mnt path for sysfs */
|
||||
#define SYSFS_MNT_PATH "/sys"
|
||||
|
||||
/*
|
||||
* NOTE:
|
||||
* 1. We have the statically allocated "name" as the first element of all
|
||||
|
@ -30,20 +30,16 @@
|
||||
*/
|
||||
int sysfs_remove_trailing_slash(char *path)
|
||||
{
|
||||
char *c = NULL;
|
||||
size_t len;
|
||||
|
||||
if (!path) {
|
||||
errno = EINVAL;
|
||||
return 1;
|
||||
}
|
||||
c = strrchr(path, '/');
|
||||
if (c == NULL) {
|
||||
dprintf("Invalid path %s\n", path);
|
||||
errno = EINVAL;
|
||||
return 1;
|
||||
}
|
||||
if (*(c+1) == '\0')
|
||||
*c = '\0';
|
||||
|
||||
len = strlen(path);
|
||||
while (len > 0 && path[len-1] == '/')
|
||||
path[--len] = '\0';
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -64,6 +60,7 @@ int sysfs_get_mnt_path(char *mnt_path, size_t len)
|
||||
sysfs_path_env = getenv(SYSFS_PATH_ENV);
|
||||
if (sysfs_path_env != NULL) {
|
||||
safestrcpymax(mnt_path, sysfs_path_env, len);
|
||||
sysfs_remove_trailing_slash(mnt_path);
|
||||
return 0;
|
||||
}
|
||||
safestrcpymax(mnt_path, SYSFS_MNT_PATH, len);
|
||||
|
Loading…
x
Reference in New Issue
Block a user