summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorGravatar Zach Hilman2018-08-06 23:21:37 -0400
committerGravatar Zach Hilman2018-08-08 21:18:45 -0400
commit2b6128fe0b8788318a4bbe1fc55ea14aed2981e4 (patch)
tree39a8c25dbea98e2f8b5761f408d62cf1669f89bc /src/common
parentloader: Remove unused IdentifyFile overload (diff)
downloadyuzu-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.cpp8
-rw-r--r--src/common/file_util.h7
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
887std::string SanitizePath(std::string_view path_, bool with_platform_slashes) { 887std::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
185enum 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
187std::string SanitizePath(std::string_view path, bool with_platform_slashes = false); 189std::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