1
0
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:
kay.sievers@vrfy.org 2005-03-27 00:09:05 +01:00 committed by Greg KH
parent 69b5c2ca51
commit 93ca11e4be
2 changed files with 9 additions and 12 deletions

View File

@ -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

View File

@ -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);