udevtrigger: simplify scan_block function
authorGabor Juhos <juhosg@openwrt.org>
Wed, 11 Sep 2013 14:10:16 +0000 (16:10 +0200)
committerJohn Crispin <blogic@openwrt.org>
Fri, 13 Sep 2013 15:36:59 +0000 (17:36 +0200)
Remove the local directory scanning code and
use the scan_subdir function instead.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
udevtrigger.c

index 08ddb06707bc59b1a9daeb4f03119bb10843a5d2..423df6a4b94df3a1fa982a59f60ae2a54b8f6cec 100644 (file)
@@ -230,32 +230,10 @@ static void scan_subsystem(const char *subsys)
 static void scan_block(void)
 {
        char base[PATH_SIZE];
-       DIR *dir;
-       struct dirent *dent;
 
        strlcpy(base, "/sys/block", 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));
-               if (device_list_insert(dirname) != 0)
-                       continue;
-
-               /* look for partitions */
-               scan_subdir(dirname, NULL, true, 0);
-       }
-
-       closedir(dir);
+       scan_subdir("/sys/block", NULL, true, 1);
 }
 
 static void scan_class(void)