mirror of
				https://github.com/yuzu-emu/yuzu.git
				synced 2025-11-04 06:23:42 +00:00 
			
		
		
		
	filesystem: Use a std::string_view in OpenFile()
Rather than make a full copy of the path, we can just use a string view and truncate the viewed portion of the string instead of creating a totally new truncated string.
This commit is contained in:
		
							parent
							
								
									7c31661869
								
							
						
					
					
						commit
						15e0c4c4ec
					
				@ -197,13 +197,16 @@ ResultCode VfsDirectoryServiceWrapper::RenameDirectory(const std::string& src_pa
 | 
			
		||||
 | 
			
		||||
ResultVal<FileSys::VirtualFile> VfsDirectoryServiceWrapper::OpenFile(const std::string& path_,
 | 
			
		||||
                                                                     FileSys::Mode mode) const {
 | 
			
		||||
    std::string path(FileUtil::SanitizePath(path_));
 | 
			
		||||
    auto npath = path;
 | 
			
		||||
    while (npath.size() > 0 && (npath[0] == '/' || npath[0] == '\\'))
 | 
			
		||||
        npath = npath.substr(1);
 | 
			
		||||
    const std::string path(FileUtil::SanitizePath(path_));
 | 
			
		||||
    std::string_view npath = path;
 | 
			
		||||
    while (!npath.empty() && (npath[0] == '/' || npath[0] == '\\')) {
 | 
			
		||||
        npath.remove_prefix(1);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    auto file = backing->GetFileRelative(npath);
 | 
			
		||||
    if (file == nullptr)
 | 
			
		||||
    if (file == nullptr) {
 | 
			
		||||
        return FileSys::ERROR_PATH_NOT_FOUND;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (mode == FileSys::Mode::Append) {
 | 
			
		||||
        return MakeResult<FileSys::VirtualFile>(
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user