diff options
Diffstat (limited to 'udevtrigger.c')
-rw-r--r-- | udevtrigger.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/udevtrigger.c b/udevtrigger.c index c809d2d47b..2bdd0c8d07 100644 --- a/udevtrigger.c +++ b/udevtrigger.c @@ -407,22 +407,15 @@ static void scan_failed(void) if (dir != NULL) { for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) { char device[PATH_SIZE]; - size_t start, end, i; + size_t start; if (dent->d_name[0] == '.') continue; strlcpy(device, sysfs_path, sizeof(device)); start = strlcat(device, "/", sizeof(device)); - end = strlcat(device, dent->d_name, sizeof(device)); - if (end > sizeof(device)) - end = sizeof(device); - - /* replace PATH_TO_NAME_CHAR with '/' */ - for (i = start; i < end; i++) - if (device[i] == PATH_TO_NAME_CHAR) - device[i] = '/'; - + strlcat(device, dent->d_name, sizeof(device)); + path_decode(&device[start]); device_list_insert(device); } closedir(dir); |