From: Oliver Kiddle Date: Wed, 2 Nov 2005 17:22:27 +0000 (+0000) Subject: speed up flist by skipping stat on files with numbers as names X-Git-Tag: RELEASE_1_2~33 X-Git-Url: http://git.marmaro.de/?p=mmh;a=commitdiff_plain;h=0c3be1c75f481d085d0ada3e9a714051a221be80 speed up flist by skipping stat on files with numbers as names --- diff --git a/ChangeLog b/ChangeLog index 9d3230b..fab11c7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2005-11-02 Oliver Kiddle + * 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 diff --git a/uip/flist.c b/uip/flist.c index a79c842..408f608 100644 --- a/uip/flist.c +++ b/uip/flist.c @@ -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, "/");