From bfabe2af97a72ac701644538baa661867dafeeec Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Mon, 16 Aug 2010 13:00:41 +0000 Subject: OSYSTEM: Fix file archive for non-flat directories svn-id: r52120 --- common/fs.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'common/fs.cpp') diff --git a/common/fs.cpp b/common/fs.cpp index 87067df2cc..62ab59f96e 100644 --- a/common/fs.cpp +++ b/common/fs.cpp @@ -314,7 +314,11 @@ int FSDirectory::listMatchingMembers(ArchiveMemberList &list, const String &patt NodeCache::iterator it = _fileCache.begin(); for ( ; it != _fileCache.end(); ++it) { if (it->_key.matchString(lowercasePattern, false, true)) { - list.push_back(ArchiveMemberPtr(new FSNode(it->_value))); + if (_flat) + list.push_back(ArchiveMemberPtr(new FSNode(it->_value))); + else + list.push_back(ArchiveMemberPtr(new FSNode(it->_key))); + matches++; } } @@ -330,7 +334,11 @@ int FSDirectory::listMembers(ArchiveMemberList &list) { int files = 0; for (NodeCache::iterator it = _fileCache.begin(); it != _fileCache.end(); ++it) { - list.push_back(ArchiveMemberPtr(new FSNode(it->_value))); + if (_flat) + list.push_back(ArchiveMemberPtr(new FSNode(it->_value))); + else + list.push_back(ArchiveMemberPtr(new FSNode(it->_key))); + ++files; } -- cgit v1.2.3