From dddd1a13a9978cd17e9ad26637a0ce2da1466323 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Tue, 11 Jun 2019 23:57:41 -0500 Subject: Add DIRTREE_STATLESS to return entries we couldn't stat(). Sets ->again |= 2 when that happens and ->st is zeroed. While we're there, don't memset(st) and then memcpy(st) over it, and use O_PATH in the open(). --- lib/lib.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/lib.h') diff --git a/lib/lib.h b/lib/lib.h index c3b3671c..0da3d9d6 100644 --- a/lib/lib.h +++ b/lib/lib.h @@ -76,6 +76,8 @@ void get_optflags(void); #define DIRTREE_BREADTH 32 // skip non-numeric entries #define DIRTREE_PROC 64 +// Return files we can't stat +#define DIRTREE_STATLESS 128 // Don't look at any more files in this directory. #define DIRTREE_ABORT 256 @@ -84,9 +86,9 @@ void get_optflags(void); struct dirtree { struct dirtree *next, *parent, *child; long extra; // place for user to store their stuff (can be pointer) - struct stat st; char *symlink; int dirfd; + struct stat st; char again; char name[]; }; -- cgit v1.2.3