summaryrefslogtreecommitdiff
path: root/src/fs/virtfs/fszip.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2017-05-16 04:28:44 +0300
committerAndrei Karas <akaras@inbox.ru>2017-05-16 04:28:44 +0300
commitb60b3123345a619aab656c1c361c2c8c42e6455c (patch)
treecf0d79476fe236f448603788da55b7c3d6aaf47b /src/fs/virtfs/fszip.cpp
parentcfb75b015a4e70843e571ce599e11bf2990abc1b (diff)
downloadmv-b60b3123345a619aab656c1c361c2c8c42e6455c.tar.gz
mv-b60b3123345a619aab656c1c361c2c8c42e6455c.tar.bz2
mv-b60b3123345a619aab656c1c361c2c8c42e6455c.tar.xz
mv-b60b3123345a619aab656c1c361c2c8c42e6455c.zip
Add subdir support into VirtFs::enumerateFiles.
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 30f3fbd8e..5118ec93c 100644
--- a/src/fs/virtfs/fszip.cpp
+++ b/src/fs/virtfs/fszip.cpp
@@ -152,10 +152,13 @@ namespace FsZip
}
void enumerate(FsEntry *restrict const entry,
- const std::string &dirName,
+ std::string dirName,
StringVect &names)
{
ZipEntry *const zipEntry = static_cast<ZipEntry*>(entry);
+ std::string subDir = zipEntry->subDir;
+ if (subDir != dirSeparator)
+ dirName = pathJoin(subDir, dirName);
if (dirName == dirSeparator)
{
FOR_EACH (std::vector<ZipLocalHeader*>::const_iterator,