--- libutil/recurse.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/libutil/recurse.c b/libutil/recurse.c index e2b8a6e..b356d2c 100644 --- a/libutil/recurse.c +++ b/libutil/recurse.c _AT_@ -54,18 +54,17 @@ recurse(const char *path, void *data, struct recursor *r) if (h->ino == st.st_ino && h->dev == st.st_dev) return; - if (!(dp = opendir(path))) { - if (!(r->flags & SILENT)) { - weprintf("opendir %s:", path); - recurse_status = 1; - } - return; - } - if (!r->depth && (r->flags & DIRFIRST)) (r->fn)(path, &st, data, r); if (!r->maxdepth || r->depth + 1 < r->maxdepth) { + if (!r->maxdepth && !(dp = opendir(path))) { + if (!(r->flags & SILENT)) { + weprintf("opendir %s:", path); + recurse_status = 1; + } + return; + } while ((d = readdir(dp))) { if (r->follow == 'H') { statf_name = "lstat"; -- 2.14.1Received on Sun Oct 01 2017 - 05:35:41 CEST
This archive was generated by hypermail 2.3.0 : Sun Oct 01 2017 - 05:36:22 CEST