Regex adjustment for valid paths
This makes further adjustments to the Regex to allow for valid Windows and Linux paths. - Valid Windows paths can necessarily contain spaces and hyphens as the game's installation path contains both. (eg. `\SquareEnix\FINAL FANTASY XIV - A Realm Reborn`) so a check for `\w` is insufficient - Valid Linux paths can also be double-slashed (eg. `/path//to//file`) In addition some pointless optimizations were made by making the groups non-capturing, lazy matching, and including an ending anchor. Because a valid path must necessarily include at least one valid character `*` was changed to `+`.
This commit is contained in:
		| @@ -410,7 +410,7 @@ namespace MareSynchronos.UI | ||||
|                     _isPenumbraDirectory = path.ToLower() == _ipcManager.PenumbraModDirectory()?.ToLower(); | ||||
|                     _isDirectoryWritable = IsDirectoryWritable(path); | ||||
|                     _cacheDirectoryHasOtherFilesThanCache = Directory.GetFiles(path, "*", SearchOption.AllDirectories).Any(f => new FileInfo(f).Name.Length != 40); | ||||
|                     _cacheDirectoryHasIllegalCharacter = Regex.IsMatch(path, @"^(\w:\\(\w|\\| |-|_)*|\/(\w|\/| |-|_)*)"); | ||||
|                     _cacheDirectoryHasIllegalCharacter = Regex.IsMatch(path, @"^(?:[a-zA-Z]:\\(?:[\w\s\-]|[\\])+?|[\/]{1}(?:[\w\s\-]|[\/])+?)$"); | ||||
|  | ||||
|                     if (!string.IsNullOrEmpty(path) | ||||
|                         && Directory.Exists(path) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Nadya
					Nadya