From: Timo Sirainen Date: Mon, 14 May 2018 12:46:01 +0000 (+0300) Subject: fs-posix: Fix fs_iter_next() to return any kinds of files. X-Git-Tag: 2.2.36~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=048ef238f810d85bfa8da000778681d4a64c5d2f;p=thirdparty%2Fdovecot%2Fcore.git fs-posix: Fix fs_iter_next() to return any kinds of files. Only regular files and symlinks were returned. It should return everything else as well (fifos, sockets, devices). --- diff --git a/src/lib-fs/fs-posix.c b/src/lib-fs/fs-posix.c index 45207145b1..1a257fbeef 100644 --- a/src/lib-fs/fs-posix.c +++ b/src/lib-fs/fs-posix.c @@ -895,16 +895,13 @@ static const char *fs_posix_iter_next(struct fs_iter *_iter) if (fs_posix_iter_want(iter, d->d_name)) return d->d_name; break; - case DT_REG: - case DT_LNK: - if ((iter->iter.flags & FS_ITER_FLAG_DIRS) == 0) - return d->d_name; - break; case DT_DIR: if ((iter->iter.flags & FS_ITER_FLAG_DIRS) != 0) return d->d_name; break; default: + if ((iter->iter.flags & FS_ITER_FLAG_DIRS) == 0) + return d->d_name; break; } #else