diff options
| author | 2018-08-06 23:21:37 -0400 | |
|---|---|---|
| committer | 2018-08-08 21:18:45 -0400 | |
| commit | 2b6128fe0b8788318a4bbe1fc55ea14aed2981e4 (patch) | |
| tree | 39a8c25dbea98e2f8b5761f408d62cf1669f89bc /src/common | |
| parent | loader: Remove unused IdentifyFile overload (diff) | |
| download | yuzu-2b6128fe0b8788318a4bbe1fc55ea14aed2981e4.tar.gz yuzu-2b6128fe0b8788318a4bbe1fc55ea14aed2981e4.tar.xz yuzu-2b6128fe0b8788318a4bbe1fc55ea14aed2981e4.zip | |
file_util: Use enum instead of bool for specifing path behavior
Diffstat (limited to '')
| -rw-r--r-- | src/common/file_util.cpp | 8 | ||||
| -rw-r--r-- | src/common/file_util.h | 7 |
2 files changed, 9 insertions, 6 deletions
diff --git a/src/common/file_util.cpp b/src/common/file_util.cpp index 190cac6d9..3ce590062 100644 --- a/src/common/file_util.cpp +++ b/src/common/file_util.cpp | |||
| @@ -884,12 +884,12 @@ 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_, bool with_platform_slashes) { | 887 | std::string SanitizePath(std::string_view path_, DirectorySeparator directory_separator) { |
| 888 | std::string path(path_); | 888 | std::string path(path_); |
| 889 | char type1 = '\\'; | 889 | char type1 = directory_separator == DirectorySeparator::BackwardSlash ? '/' : '\\'; |
| 890 | char type2 = '/'; | 890 | char type2 = directory_separator == DirectorySeparator::BackwardSlash ? '\\' : '/'; |
| 891 | 891 | ||
| 892 | if (with_platform_slashes) { | 892 | if (directory_separator == DirectorySeparator::PlatformDefault) { |
| 893 | #ifdef _WIN32 | 893 | #ifdef _WIN32 |
| 894 | type1 = '/'; | 894 | type1 = '/'; |
| 895 | type2 = '\\'; | 895 | type2 = '\\'; |
diff --git a/src/common/file_util.h b/src/common/file_util.h index ca63d7466..2711872ae 100644 --- a/src/common/file_util.h +++ b/src/common/file_util.h | |||
| @@ -182,9 +182,12 @@ std::vector<T> SliceVector(const std::vector<T>& vector, size_t first, size_t la | |||
| 182 | return std::vector<T>(vector.begin() + first, vector.begin() + first + last); | 182 | return std::vector<T>(vector.begin() + first, vector.begin() + first + last); |
| 183 | } | 183 | } |
| 184 | 184 | ||
| 185 | enum class DirectorySeparator { ForwardSlash, BackwardSlash, PlatformDefault }; | ||
| 186 | |||
| 185 | // Removes trailing slash, makes all '\\' into '/', and removes duplicate '/'. Makes '/' into '\\' | 187 | // Removes trailing slash, makes all '\\' into '/', and removes duplicate '/'. Makes '/' into '\\' |
| 186 | // if windows and with_platform_slashes is true. | 188 | // depending if directory_separator is BackwardSlash or PlatformDefault and running on windows |
| 187 | std::string SanitizePath(std::string_view path, bool with_platform_slashes = false); | 189 | std::string SanitizePath(std::string_view path, |
| 190 | DirectorySeparator directory_separator = DirectorySeparator::ForwardSlash); | ||
| 188 | 191 | ||
| 189 | // simple wrapper for cstdlib file functions to | 192 | // simple wrapper for cstdlib file functions to |
| 190 | // hopefully will make error checking easier | 193 | // hopefully will make error checking easier |