X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fprocd.git;a=blobdiff_plain;f=udevtrigger.c;h=08ddb06707bc59b1a9daeb4f03119bb10843a5d2;hp=5a9acacbcdf6acd633cf99591b19d73877409ba7;hb=0a5f43565309fc6cad3d47fd6ad12dc368677d10;hpb=3a698a2a1aad368d33b08d405fbc44d39f63982a diff --git a/udevtrigger.c b/udevtrigger.c index 5a9acac..08ddb06 100644 --- a/udevtrigger.c +++ b/udevtrigger.c @@ -220,32 +220,11 @@ static void scan_subdir(const char *base, const char *subdir, static void scan_subsystem(const char *subsys) { char base[PATH_SIZE]; - DIR *dir; - struct dirent *dent; strlcpy(base, "/sys/", sizeof(base)); strlcat(base, subsys, sizeof(base)); - dir = opendir(base); - if (dir == NULL) - return; - - for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) { - char dirname[PATH_SIZE]; - - if (dent->d_name[0] == '.') - continue; - - strlcpy(dirname, base, sizeof(dirname)); - strlcat(dirname, "/", sizeof(dirname)); - strlcat(dirname, dent->d_name, sizeof(dirname)); - strlcat(dirname, "/devices", sizeof(dirname)); - - /* look for devices */ - scan_subdir(dirname, NULL, true, 0); - } - - closedir(dir); + scan_subdir(base, "/devices", false, 1); } static void scan_block(void)