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

github.com/duplicati/duplicati.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Duplicati/Library/Utility/FilterExpression.cs')
-rw-r--r--Duplicati/Library/Utility/FilterExpression.cs20
1 files changed, 12 insertions, 8 deletions
diff --git a/Duplicati/Library/Utility/FilterExpression.cs b/Duplicati/Library/Utility/FilterExpression.cs
index 07789fe65..7064dc21d 100644
--- a/Duplicati/Library/Utility/FilterExpression.cs
+++ b/Duplicati/Library/Utility/FilterExpression.cs
@@ -65,7 +65,10 @@ namespace Duplicati.Library.Utility
private const char MULTIPLE_WILDCARD = '*';
- private static readonly System.Text.RegularExpressions.RegexOptions REGEXP_OPTIONS = Library.Utility.Utility.IsFSCaseSensitive ? System.Text.RegularExpressions.RegexOptions.Compiled : System.Text.RegularExpressions.RegexOptions.Compiled | System.Text.RegularExpressions.RegexOptions.IgnoreCase;
+ private static readonly System.Text.RegularExpressions.RegexOptions REGEXP_OPTIONS =
+ System.Text.RegularExpressions.RegexOptions.Compiled |
+ System.Text.RegularExpressions.RegexOptions.ExplicitCapture |
+ (Library.Utility.Utility.IsFSCaseSensitive ? System.Text.RegularExpressions.RegexOptions.None : System.Text.RegularExpressions.RegexOptions.IgnoreCase);
public FilterEntry(string filter)
{
@@ -379,15 +382,16 @@ namespace Duplicati.Library.Utility
includes = false;
excludes = false;
- Tuple<bool, bool> cacheLookup;
+ Tuple<bool, bool> cacheLookup = null;
// Check for cached results
- lock(_matchLock)
- if (_matchFallbackLookup.TryGetValue(filter, out cacheLookup))
- {
- includes = cacheLookup.Item1;
- excludes = cacheLookup.Item2;
- }
+ if (filter != null)
+ lock(_matchLock)
+ if (_matchFallbackLookup.TryGetValue(filter, out cacheLookup))
+ {
+ includes = cacheLookup.Item1;
+ excludes = cacheLookup.Item2;
+ }
// Figure out what components are in the filter
if (cacheLookup == null)