From d8444e1ec6a51b53da55149a2d4a6847185d000d Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Sun, 5 Feb 2017 17:28:44 -0500 Subject: bftw: Compute nameoff correctly for the root in BFTW_DEPTH mode --- bftw.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'bftw.c') diff --git a/bftw.c b/bftw.c index 70826ea..4ac1240 100644 --- a/bftw.c +++ b/bftw.c @@ -777,10 +777,14 @@ static void bftw_init_buffers(struct bftw_state *state, const struct dirent *de) dircache_entry_base(&state->cache, current, &ftwbuf->at_fd, &ftwbuf->at_path); } } else { - ftwbuf->nameoff = basename_offset(ftwbuf->path); ftwbuf->depth = 0; } + if (ftwbuf->depth == 0) { + // Compute the name offset for root paths like "foo/bar" + ftwbuf->nameoff = basename_offset(ftwbuf->path); + } + ftwbuf->typeflag = BFTW_UNKNOWN; if (de) { ftwbuf_use_dirent(ftwbuf, de); -- cgit v1.2.3