]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fs-posix: Fix fs_iter_next() to return any kinds of files.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 14 May 2018 12:46:01 +0000 (15:46 +0300)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Mon, 21 May 2018 11:26:54 +0000 (14:26 +0300)
Only regular files and symlinks were returned. It should return everything
else as well (fifos, sockets, devices).

src/lib-fs/fs-posix.c

index 45207145b1e53cc987c20744aa0015d4452dd460..1a257fbeefff9ce183b8bd1862824c12182c33b3 100644 (file)
@@ -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