speed up flist by skipping stat on files with numbers as names
[mmh] / uip / flist.c
index a79c842..408f608 100644 (file)
@@ -401,7 +401,7 @@ BuildFolderList(char *dirName, int searchdepth)
 void
 BuildFolderListRecurse(char *dirName, struct stat *s, int searchdepth)
 {
-    char *base, name[PATH_MAX];
+    char *base, *n, name[PATH_MAX];
     int nlinks;
     DIR *dir;
     struct dirent *dp;
@@ -432,6 +432,12 @@ BuildFolderListRecurse(char *dirName, struct stat *s, int searchdepth)
        }
        if (dp->d_name[0] == '.')
            continue;
+       /* Check to see if the name of the file is a number
+        * if it is, we assume it's a mail file and skip it
+        */
+       for (n = dp->d_name; *n && isdigit(*n); n++);
+       if (!*n)
+           continue;
        strncpy (name, base, sizeof(name) - 2);
        if (*base)
            strcat(name, "/");