summaryrefslogtreecommitdiff
path: root/src/fs/virtfs/fszip.cpp
diff options
context:
space:
mode:
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,