From 67f14eee9e909af7613650f9239939c55962ebc8 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Wed, 5 Aug 2020 21:56:38 -0700 Subject: [PATCH] VFS: Fix directory node listing on some filesystems --- CHANGES | 4 ++++ src/util/vfs/vfs-dirent.c | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index c924f4c3a..77164eec8 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ +0.8.4: (Future) +Other fixes: + - VFS: Fix directory node listing on some filesystems + 0.8.3: (2020-08-03) Emulation fixes: - ARM: Fix LDM^ writeback to user-mode register diff --git a/src/util/vfs/vfs-dirent.c b/src/util/vfs/vfs-dirent.c index 0cb060e2b..610482313 100644 --- a/src/util/vfs/vfs-dirent.c +++ b/src/util/vfs/vfs-dirent.c @@ -151,9 +151,10 @@ static enum VFSType _vdeType(struct VDirEntry* vde) { #if !defined(WIN32) && !defined(__HAIKU__) if (vdede->ent->d_type == DT_DIR) { return VFS_DIRECTORY; + } else if (vdede->ent->d_type == DT_REG) { + return VFS_FILE; } - return VFS_FILE; -#else +#endif const char* dir = vdede->p->path; char* combined = malloc(sizeof(char) * (strlen(vdede->ent->d_name) + strlen(dir) + 2)); sprintf(combined, "%s%s%s", dir, PATH_SEP, vdede->ent->d_name); @@ -165,9 +166,8 @@ static enum VFSType _vdeType(struct VDirEntry* vde) { return VFS_DIRECTORY; } return VFS_FILE; -#endif } bool VDirCreate(const char* path) { return mkdir(path, 0777) == 0 || errno == EEXIST; -} \ No newline at end of file +}