diff --git a/src/ox/fs/filesystem.hpp b/src/ox/fs/filesystem.hpp index 0854456e2..79825c352 100644 --- a/src/ox/fs/filesystem.hpp +++ b/src/ox/fs/filesystem.hpp @@ -240,11 +240,14 @@ class FileSystem { template int FileSystem::ls(const char *path, List *list) { + int err = 0; auto s = stat(path); - uint8_t dirBuff[s.size * 4]; - auto dir = (Directory*) dirBuff; - auto err = readDirectory(path, dir); - err |= dir->ls(list); + if (s.fileType == FileType_Directory) { + uint8_t dirBuff[s.size * 4]; + auto dir = (Directory*) dirBuff; + err = readDirectory(path, dir); + err |= dir->ls(list); + } return err; }