diff options
| author | 2018-08-03 11:47:35 -0400 | |
|---|---|---|
| committer | 2018-08-08 21:18:45 -0400 | |
| commit | 3f82dad1e411130e309074a1547fb2104257f95d (patch) | |
| tree | 136536a8aa82f557bb6a9f50e85ccad5819a4baa /src/common/file_util.cpp | |
| parent | vfs: Add VfsFilesystem interface and default implementation (diff) | |
| download | yuzu-3f82dad1e411130e309074a1547fb2104257f95d.tar.gz yuzu-3f82dad1e411130e309074a1547fb2104257f95d.tar.xz yuzu-3f82dad1e411130e309074a1547fb2104257f95d.zip | |
file_util: Add platform-specific slash option to SanitizePath
Diffstat (limited to 'src/common/file_util.cpp')
| -rw-r--r-- | src/common/file_util.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/common/file_util.cpp b/src/common/file_util.cpp index 7aeda737f..190cac6d9 100644 --- a/src/common/file_util.cpp +++ b/src/common/file_util.cpp | |||
| @@ -884,11 +884,21 @@ std::string_view RemoveTrailingSlash(std::string_view path) { | |||
| 884 | return path; | 884 | return path; |
| 885 | } | 885 | } |
| 886 | 886 | ||
| 887 | std::string SanitizePath(std::string_view path_) { | 887 | std::string SanitizePath(std::string_view path_, bool with_platform_slashes) { |
| 888 | std::string path(path_); | 888 | std::string path(path_); |
| 889 | std::replace(path.begin(), path.end(), '\\', '/'); | 889 | char type1 = '\\'; |
| 890 | char type2 = '/'; | ||
| 891 | |||
| 892 | if (with_platform_slashes) { | ||
| 893 | #ifdef _WIN32 | ||
| 894 | type1 = '/'; | ||
| 895 | type2 = '\\'; | ||
| 896 | #endif | ||
| 897 | } | ||
| 898 | |||
| 899 | std::replace(path.begin(), path.end(), type1, type2); | ||
| 890 | path.erase(std::unique(path.begin(), path.end(), | 900 | path.erase(std::unique(path.begin(), path.end(), |
| 891 | [](char c1, char c2) { return c1 == '/' && c2 == '/'; }), | 901 | [type2](char c1, char c2) { return c1 == type2 && c2 == type2; }), |
| 892 | path.end()); | 902 | path.end()); |
| 893 | return std::string(RemoveTrailingSlash(path)); | 903 | return std::string(RemoveTrailingSlash(path)); |
| 894 | } | 904 | } |