Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/thirdparty/unrar/scantree.hpp')
-rw-r--r--src/thirdparty/unrar/scantree.hpp23
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