From 0835e09ee3a6c83ffa01454f2c05597e6195b07d Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 24 Apr 2017 03:35:02 +0300 Subject: Improve VirtFs::getFiles. --- src/fs/virtfs/virtfs.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/fs/virtfs/virtfs.cpp') diff --git a/src/fs/virtfs/virtfs.cpp b/src/fs/virtfs/virtfs.cpp index d9423f66e..e61069301 100644 --- a/src/fs/virtfs/virtfs.cpp +++ b/src/fs/virtfs/virtfs.cpp @@ -161,6 +161,28 @@ namespace VirtFs return list; } + void getFiles(std::string dirName, + StringVect &list) + { + prepareFsPath(dirName); + if (checkPath(dirName) == false) + { + reportAlways("VirtFs::enumerateFiles invalid path: %s", + dirName.c_str()); + return; + } + + std::string rootDir = dirName; + if (findLast(rootDir, std::string(dirSeparator)) == false) + rootDir += dirSeparator; + + FOR_EACH (std::vector::const_iterator, it, mEntries) + { + VirtFsEntry *const entry = *it; + entry->funcs->getFiles(entry, rootDir, list); + } + } + bool isDirectory(std::string name) { prepareFsPath(name); -- cgit v1.2.3-60-g2f50