all repos — mgba @ 67f14eee9e909af7613650f9239939c55962ebc8

mGBA Game Boy Advance Emulator

VFS: Fix directory node listing on some filesystems
Vicki Pfau vi@endrift.com
Wed, 05 Aug 2020 21:56:38 -0700
commit

67f14eee9e909af7613650f9239939c55962ebc8

parent

5d9aa0250a0ddbdb0f90b57af7ad35e9c57cd9ea

2 files changed, 8 insertions(+), 4 deletions(-)

jump to
M CHANGESCHANGES

@@ -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
M src/util/vfs/vfs-dirent.csrc/util/vfs/vfs-dirent.c

@@ -151,9 +151,10 @@ struct VDirEntryDE* vdede = (struct VDirEntryDE*) 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 @@ if (S_ISDIR(sb.st_mode)) {

return VFS_DIRECTORY; } return VFS_FILE; -#endif } bool VDirCreate(const char* path) { return mkdir(path, 0777) == 0 || errno == EEXIST; -}+}