]> 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:32:28 +0000 (14:32 +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 809547ae80342c35ab5dee136a03626d89d14a3b..3c0eebdbc08cd439add6ba70d1a2ad4b17032573 100644 (file)
@@ -870,16 +870,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