udevtrigger: simplify scan_subsystem function
[project/procd.git] / udevtrigger.c
index 5a9acac..08ddb06 100644 (file)
@@ -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)