diff options
author | bunnei <bunneidev@gmail.com> | 2020-04-18 01:47:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-18 01:47:11 +0200 |
commit | 7438d36d0ee2e9e6997452dd95353768da8d3519 (patch) | |
tree | fdb0234ea38b0c12dcf96afb5835b53144c58ed2 | |
parent | Merge pull request #3706 from degasus/fix_fallthrough_error (diff) | |
parent | common/file_util: Allow access to files on network shares (diff) | |
download | yuzu-7438d36d0ee2e9e6997452dd95353768da8d3519.tar yuzu-7438d36d0ee2e9e6997452dd95353768da8d3519.tar.gz yuzu-7438d36d0ee2e9e6997452dd95353768da8d3519.tar.bz2 yuzu-7438d36d0ee2e9e6997452dd95353768da8d3519.tar.lz yuzu-7438d36d0ee2e9e6997452dd95353768da8d3519.tar.xz yuzu-7438d36d0ee2e9e6997452dd95353768da8d3519.tar.zst yuzu-7438d36d0ee2e9e6997452dd95353768da8d3519.zip |
-rw-r--r-- | src/common/file_util.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/common/file_util.cpp b/src/common/file_util.cpp index 7f613891b..45b750e1e 100644 --- a/src/common/file_util.cpp +++ b/src/common/file_util.cpp @@ -888,7 +888,14 @@ std::string SanitizePath(std::string_view path_, DirectorySeparator directory_se } 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; }), path.end()); return std::string(RemoveTrailingSlash(path)); |