From 0c3be1c75f481d085d0ada3e9a714051a221be80 Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Wed, 2 Nov 2005 17:22:27 +0000 Subject: [PATCH] speed up flist by skipping stat on files with numbers as names --- ChangeLog | 3 +++ uip/flist.c | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) 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, "/"); -- 1.7.10.4