aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-08-06 23:21:37 -0400
committerZach Hilman <zachhilman@gmail.com>2018-08-08 21:18:45 -0400
commit2b6128fe0b8788318a4bbe1fc55ea14aed2981e4 (patch)
tree39a8c25dbea98e2f8b5761f408d62cf1669f89bc /src/common
parentdad2ae1ee01b42bb6bb8a903c856712fc2bffa37 (diff)
file_util: Use enum instead of bool for specifing path behavior
Diffstat (limited to 'src/common')
-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 190cac6d9d..3ce590062a 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) {
return path;
}
-std::string SanitizePath(std::string_view path_, bool with_platform_slashes) {
+std::string SanitizePath(std::string_view path_, DirectorySeparator directory_separator) {
std::string path(path_);
- char type1 = '\\';
- char type2 = '/';
+ char type1 = directory_separator == DirectorySeparator::BackwardSlash ? '/' : '\\';
+ char type2 = directory_separator == DirectorySeparator::BackwardSlash ? '\\' : '/';
- if (with_platform_slashes) {
+ if (directory_separator == DirectorySeparator::PlatformDefault) {
#ifdef _WIN32
type1 = '/';
type2 = '\\';
diff --git a/src/common/file_util.h b/src/common/file_util.h
index ca63d74661..2711872ae4 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
return std::vector<T>(vector.begin() + first, vector.begin() + first + last);
}
+enum class DirectorySeparator { ForwardSlash, BackwardSlash, PlatformDefault };
+
// Removes trailing slash, makes all '\\' into '/', and removes duplicate '/'. Makes '/' into '\\'
-// if windows and with_platform_slashes is true.
-std::string SanitizePath(std::string_view path, bool with_platform_slashes = false);
+// depending if directory_separator is BackwardSlash or PlatformDefault and running on windows
+std::string SanitizePath(std::string_view path,
+ DirectorySeparator directory_separator = DirectorySeparator::ForwardSlash);
// simple wrapper for cstdlib file functions to
// hopefully will make error checking easier