diff options
Diffstat (limited to 'src/thirdparty/unrar/scantree.hpp')
-rw-r--r-- | src/thirdparty/unrar/scantree.hpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/thirdparty/unrar/scantree.hpp b/src/thirdparty/unrar/scantree.hpp index 7ed9a3833..40a6d8497 100644 --- a/src/thirdparty/unrar/scantree.hpp +++ b/src/thirdparty/unrar/scantree.hpp @@ -18,6 +18,8 @@ class CommandData; class ScanTree { private: + bool ExpandFolderMask(); + bool GetFilteredMask(); bool GetNextMask(); SCAN_CODE FindProc(FindData *FD); void ScanError(bool &Error); @@ -33,11 +35,25 @@ class ScanTree SCAN_DIRS GetDirs; int Errors; - // set when processing paths like c:\ (root directory without wildcards) + // Set when processing paths like c:\ (root directory without wildcards). bool ScanEntireDisk; wchar CurMask[NM]; wchar OrigCurMask[NM]; + + // Store all folder masks generated from folder wildcard mask in non-recursive mode. + StringList ExpandedFolderList; + + // Store a filter string for folder wildcard in recursive mode. + StringList FilterList; + + // Save the list of unreadable dirs here. + StringList *ErrDirList; + Array<uint> *ErrDirSpecPathLength; + + // Set if processing a folder wildcard mask. + bool FolderWildcards; + bool SearchAllInRoot; size_t SpecPathLength; @@ -52,6 +68,11 @@ class ScanTree int GetErrors() {return Errors;}; void SetErrArcName(const wchar *Name) {wcsncpyz(ErrArcName,Name,ASIZE(ErrArcName));} void SetCommandData(CommandData *Cmd) {ScanTree::Cmd=Cmd;} + void SetErrDirList(StringList *List,Array<uint> *Lengths) + { + ErrDirList=List; + ErrDirSpecPathLength=Lengths; + } }; #endif |