From 0e24e73d6dfd32c842afe028d6d37e2ea3c3bd54 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 17 Dec 2001 23:07:40 +0000 Subject: (ftw_dir): Handle inaccessibility of toplevel dir different than implemented in last patch. --- io/ftw.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'io/ftw.c') diff --git a/io/ftw.c b/io/ftw.c index cbd6be707e..0b4565fedf 100644 --- a/io/ftw.c +++ b/io/ftw.c @@ -473,9 +473,6 @@ ftw_startup (const char *dir, int is_nftw, void *func, int descriptors, return -1; } - if (__access (dir, R_OK) != 0) - return -1; - data.maxdir = descriptors < 1 ? 1 : descriptors; data.actdir = 0; data.dirstreams = (struct dir_data **) alloca (data.maxdir @@ -552,12 +549,10 @@ ftw_startup (const char *dir, int is_nftw, void *func, int descriptors, ? LXSTAT (_STAT_VER, data.dirbuf, &st) : XSTAT (_STAT_VER, data.dirbuf, &st)) < 0) { - if (errno == EACCES) - result = (*data.func) (data.dirbuf, &st, FTW_NS, &data.ftw); - else if (!(flags & FTW_PHYS) - && errno == ENOENT - && LXSTAT (_STAT_VER, dir, &st) == 0 - && S_ISLNK (st.st_mode)) + if (!(flags & FTW_PHYS) + && errno == ENOENT + && LXSTAT (_STAT_VER, dir, &st) == 0 + && S_ISLNK (st.st_mode)) result = (*data.func) (data.dirbuf, &st, data.cvt_arr[FTW_SLN], &data.ftw); else -- cgit v1.2.3