diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/dirtree.c | 1 | ||||
-rw-r--r-- | lib/lib.h | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/lib/dirtree.c b/lib/dirtree.c index 07c1cdc7..f9524a5d 100644 --- a/lib/dirtree.c +++ b/lib/dirtree.c @@ -151,6 +151,7 @@ int dirtree_recurse(struct dirtree *node, // The extra parentheses are to shut the stupid compiler up. while ((entry = readdir(dir))) { + if ((flags&DIRTREE_PROC) && !isdigit(*entry->d_name)) continue; if (!(new = dirtree_add_node(node, entry->d_name, flags))) continue; new = dirtree_handle_callback(new, callback); if (new == DIRTREE_ABORTVAL) break; @@ -73,6 +73,8 @@ void get_optflags(void); #define DIRTREE_SHUTUP 16 // Breadth first traversal, conserves filehandles at the expense of memory #define DIRTREE_BREADTH 32 +// skip non-numeric entries +#define DIRTREE_PROC 64 // Don't look at any more files in this directory. #define DIRTREE_ABORT 256 |