mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu.git
				synced 2025-05-12 00:45:25 +00:00 
			
		
		
		
	file_util: Add platform-specific slash option to SanitizePath
This commit is contained in:
		
							parent
							
								
									3bf488ce52
								
							
						
					
					
						commit
						3f82dad1e4
					
				| @ -884,11 +884,21 @@ std::string_view RemoveTrailingSlash(std::string_view path) { | ||||
|     return path; | ||||
| } | ||||
| 
 | ||||
| std::string SanitizePath(std::string_view path_) { | ||||
| std::string SanitizePath(std::string_view path_, bool with_platform_slashes) { | ||||
|     std::string path(path_); | ||||
|     std::replace(path.begin(), path.end(), '\\', '/'); | ||||
|     char type1 = '\\'; | ||||
|     char type2 = '/'; | ||||
| 
 | ||||
|     if (with_platform_slashes) { | ||||
| #ifdef _WIN32 | ||||
|         type1 = '/'; | ||||
|         type2 = '\\'; | ||||
| #endif | ||||
|     } | ||||
| 
 | ||||
|     std::replace(path.begin(), path.end(), type1, type2); | ||||
|     path.erase(std::unique(path.begin(), path.end(), | ||||
|                            [](char c1, char c2) { return c1 == '/' && c2 == '/'; }), | ||||
|                            [type2](char c1, char c2) { return c1 == type2 && c2 == type2; }), | ||||
|                path.end()); | ||||
|     return std::string(RemoveTrailingSlash(path)); | ||||
| } | ||||
|  | ||||
| @ -182,8 +182,9 @@ 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); | ||||
| } | ||||
| 
 | ||||
| // Removes trailing slash, makes all '\\' into '/', and removes duplicate '/'.
 | ||||
| std::string SanitizePath(std::string_view path); | ||||
| // 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); | ||||
| 
 | ||||
| // simple wrapper for cstdlib file functions to
 | ||||
| // hopefully will make error checking easier
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Zach Hilman
						Zach Hilman