Merge pull request #3630 from benru/open-windows-network-files

common/file_util: Allow access to files on network shares
This commit is contained in:
bunnei 2020-04-17 19:47:11 -04:00 committed by GitHub
commit 7438d36d0e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 1 deletions

View File

@ -888,7 +888,14 @@ std::string SanitizePath(std::string_view path_, DirectorySeparator directory_se
} }
std::replace(path.begin(), path.end(), type1, type2); std::replace(path.begin(), path.end(), type1, type2);
path.erase(std::unique(path.begin(), path.end(),
auto start = path.begin();
#ifdef _WIN32
// allow network paths which start with a double backslash (e.g. \\server\share)
if (start != path.end())
++start;
#endif
path.erase(std::unique(start, path.end(),
[type2](char c1, char c2) { return c1 == type2 && c2 == type2; }), [type2](char c1, char c2) { return c1 == type2 && c2 == type2; }),
path.end()); path.end());
return std::string(RemoveTrailingSlash(path)); return std::string(RemoveTrailingSlash(path));