mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	Merge pull request #3092 from lioncash/util
key_manager: Make use of IOFile in WriteKeyToFile()
This commit is contained in:
		
						commit
						02880a8195
					
				@ -668,23 +668,27 @@ void KeyManager::WriteKeyToFile(KeyCategory category, std::string_view keyname,
 | 
			
		||||
                                const std::array<u8, Size>& key) {
 | 
			
		||||
    const std::string yuzu_keys_dir = FileUtil::GetUserPath(FileUtil::UserPath::KeysDir);
 | 
			
		||||
    std::string filename = "title.keys_autogenerated";
 | 
			
		||||
    if (category == KeyCategory::Standard)
 | 
			
		||||
    if (category == KeyCategory::Standard) {
 | 
			
		||||
        filename = dev_mode ? "dev.keys_autogenerated" : "prod.keys_autogenerated";
 | 
			
		||||
    else if (category == KeyCategory::Console)
 | 
			
		||||
    } else if (category == KeyCategory::Console) {
 | 
			
		||||
        filename = "console.keys_autogenerated";
 | 
			
		||||
    const auto add_info_text = !FileUtil::Exists(yuzu_keys_dir + DIR_SEP + filename);
 | 
			
		||||
    FileUtil::CreateFullPath(yuzu_keys_dir + DIR_SEP + filename);
 | 
			
		||||
    std::ofstream file(yuzu_keys_dir + DIR_SEP + filename, std::ios::app);
 | 
			
		||||
    if (!file.is_open())
 | 
			
		||||
        return;
 | 
			
		||||
    if (add_info_text) {
 | 
			
		||||
        file
 | 
			
		||||
            << "# This file is autogenerated by Yuzu\n"
 | 
			
		||||
            << "# It serves to store keys that were automatically generated from the normal keys\n"
 | 
			
		||||
            << "# If you are experiencing issues involving keys, it may help to delete this file\n";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    file << fmt::format("\n{} = {}", keyname, Common::HexToString(key));
 | 
			
		||||
    const auto path = yuzu_keys_dir + DIR_SEP + filename;
 | 
			
		||||
    const auto add_info_text = !FileUtil::Exists(path);
 | 
			
		||||
    FileUtil::CreateFullPath(path);
 | 
			
		||||
    FileUtil::IOFile file{path, "a"};
 | 
			
		||||
    if (!file.IsOpen()) {
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
    if (add_info_text) {
 | 
			
		||||
        file.WriteString(
 | 
			
		||||
            "# This file is autogenerated by Yuzu\n"
 | 
			
		||||
            "# It serves to store keys that were automatically generated from the normal keys\n"
 | 
			
		||||
            "# If you are experiencing issues involving keys, it may help to delete this file\n");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    file.WriteString(fmt::format("\n{} = {}", keyname, Common::HexToString(key)));
 | 
			
		||||
    AttemptLoadKeyFile(yuzu_keys_dir, yuzu_keys_dir, filename, category == KeyCategory::Title);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user