speed up flist by skipping stat on files with numbers as names
authorOliver Kiddle <okiddle@yahoo.co.uk>
Wed, 2 Nov 2005 17:22:27 +0000 (17:22 +0000)
committerOliver Kiddle <okiddle@yahoo.co.uk>
Wed, 2 Nov 2005 17:22:27 +0000 (17:22 +0000)
ChangeLog
uip/flist.c

index 9d3230b..fab11c7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2005-11-02  Oliver Kiddle  <okiddle@yahoo.co.uk>
 
+       * patch #1155: uip/flist.c: speed up flist by skipping stat on
+       files with numbers as names
+
        * docs/Makefile.in: include new files in distribution
 
 2005-10-11  Bill Wohler  <wohler@newt.com>
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, "/");