On some systems, readdir() always returns DT_UNKNOWN. This needs to be handled by calling stat() explicitly. See man 3 readdir: "Currently, only some filesystems (among them: Btrfs, ext2, ext3, and ext4) have full support for returning the file type in d_type. All applications must properly handle a return of DT_UNKNOWN."
On some systems, readdir() always returns DT_UNKNOWN. This needs to be handled by calling stat() explicitly. See man 3 readdir: "Currently, only some filesystems (among them: Btrfs, ext2, ext3, and ext4) have full support for returning the file type in d_type. All applications must properly handle a return of DT_UNKNOWN."