summaryrefslogtreecommitdiff
path: root/src/fs/virtfs/fszip.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2017-05-16 18:22:09 +0300
committerAndrei Karas <akaras@inbox.ru>2017-05-16 18:22:09 +0300
commit873eff85f179593d486793be24b3cfaf73226e1f (patch)
tree23cfa3747f31a853f13c251b247312ddbcd70b53 /src/fs/virtfs/fszip.cpp
parent5844f83998040d4a79dc442151a21dc17de60feb (diff)
downloadplus-873eff85f179593d486793be24b3cfaf73226e1f.tar.gz
plus-873eff85f179593d486793be24b3cfaf73226e1f.tar.bz2
plus-873eff85f179593d486793be24b3cfaf73226e1f.tar.xz
plus-873eff85f179593d486793be24b3cfaf73226e1f.zip
Add subdir support in VirtFs::getDirs.
Diffstat (limited to 'src/fs/virtfs/fszip.cpp')
-rw-r--r--src/fs/virtfs/fszip.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/fs/virtfs/fszip.cpp b/src/fs/virtfs/fszip.cpp
index b2e123f49..cc720f626 100644
--- a/src/fs/virtfs/fszip.cpp
+++ b/src/fs/virtfs/fszip.cpp
@@ -408,10 +408,13 @@ namespace FsZip
}
void getDirs(FsEntry *restrict const entry,
- const std::string &dirName,
+ std::string dirName,
StringVect &names)
{
ZipEntry *const zipEntry = static_cast<ZipEntry*>(entry);
+ const std::string subDir = zipEntry->subDir;
+ if (subDir != dirSeparator)
+ dirName = pathJoin(subDir, dirName);
if (dirName == dirSeparator)
{
FOR_EACH (std::vector<ZipLocalHeader*>::const_iterator,