mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	common/file_util: Allow access to files on network shares
On Windows, network shares use paths like \\server\share\file which were being broken by FileUtil::SanitizePath() removing double slashes. Changed the code in SanitizePath to permit a double-backslash if it occurs at the start of a filepath (on Windows only).
This commit is contained in:
		
							parent
							
								
									c605bb42db
								
							
						
					
					
						commit
						fb941c56d8
					
				
					 1 changed files with 8 additions and 1 deletions
				
			
		|  | @ -902,7 +902,14 @@ std::string SanitizePath(std::string_view path_, DirectorySeparator directory_se | |||
|     } | ||||
| 
 | ||||
|     std::replace(path.begin(), path.end(), type1, type2); | ||||
|     path.erase(std::unique(path.begin(), path.end(), | ||||
| 
 | ||||
|     auto start = path.begin(); | ||||
| #ifdef _WIN32 | ||||
|     // allow network paths which start with a double backslash (e.g. \\server\share)
 | ||||
|     if (start != path.end()) | ||||
|         ++start; | ||||
| #endif | ||||
|     path.erase(std::unique(start, path.end(), | ||||
|                            [type2](char c1, char c2) { return c1 == type2 && c2 == type2; }), | ||||
|                path.end()); | ||||
|     return std::string(RemoveTrailingSlash(path)); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue