VFS: Fix directory node listing on some filesystems

This commit is contained in:
Vicki Pfau 2020-08-05 21:56:38 -07:00
parent c21e6bf0b1
commit 641154b810
2 changed files with 5 additions and 4 deletions

View File

@ -33,6 +33,7 @@ Other fixes:
- Qt: Fix static compilation in MinGW (fixes mgba.io/i/1769)
- Qt: Fix a race condition in the frame inspector
- SM83: Simplify register pair access on big endian
- VFS: Fix directory node listing on some filesystems
Misc:
- 3DS: Use "wide mode" where applicable for slightly better filtering
- GB: Allow pausing event loop while CPU is blocked

View File

@ -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;
}
}