mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-10-31 10:44:49 +01:00 
			
		
		
		
	service: properly convert buffers to strings
This commit is contained in:
		
							parent
							
								
									8bd10473d6
								
							
						
					
					
						commit
						fc5d76e6e2
					
				| @ -4,6 +4,7 @@ | ||||
| 
 | ||||
| #include "common/logging/log.h" | ||||
| #include "common/scope_exit.h" | ||||
| #include "common/string_util.h" | ||||
| #include "core/core.h" | ||||
| #include "core/hle/kernel/k_event.h" | ||||
| #include "core/hle/kernel/k_process.h" | ||||
| @ -29,7 +30,7 @@ void NVDRV::Open(HLERequestContext& ctx) { | ||||
|     } | ||||
| 
 | ||||
|     const auto& buffer = ctx.ReadBuffer(); | ||||
|     const std::string device_name(buffer.begin(), buffer.end()); | ||||
|     const std::string device_name(Common::StringFromBuffer(buffer)); | ||||
| 
 | ||||
|     if (device_name == "/dev/nvhost-prof-gpu") { | ||||
|         rb.Push<DeviceFD>(0); | ||||
|  | ||||
| @ -710,12 +710,12 @@ void ISystemSettingsServer::GetSettingsItemValueSize(HLERequestContext& ctx) { | ||||
|     // The category of the setting. This corresponds to the top-level keys of
 | ||||
|     // system_settings.ini.
 | ||||
|     const auto setting_category_buf{ctx.ReadBuffer(0)}; | ||||
|     const std::string setting_category{setting_category_buf.begin(), setting_category_buf.end()}; | ||||
|     const std::string setting_category{Common::StringFromBuffer(setting_category_buf)}; | ||||
| 
 | ||||
|     // The name of the setting. This corresponds to the second-level keys of
 | ||||
|     // system_settings.ini.
 | ||||
|     const auto setting_name_buf{ctx.ReadBuffer(1)}; | ||||
|     const std::string setting_name{setting_name_buf.begin(), setting_name_buf.end()}; | ||||
|     const std::string setting_name{Common::StringFromBuffer(setting_name_buf)}; | ||||
| 
 | ||||
|     auto settings{GetSettings()}; | ||||
|     u64 response_size{0}; | ||||
| @ -733,12 +733,12 @@ void ISystemSettingsServer::GetSettingsItemValue(HLERequestContext& ctx) { | ||||
|     // The category of the setting. This corresponds to the top-level keys of
 | ||||
|     // system_settings.ini.
 | ||||
|     const auto setting_category_buf{ctx.ReadBuffer(0)}; | ||||
|     const std::string setting_category{setting_category_buf.begin(), setting_category_buf.end()}; | ||||
|     const std::string setting_category{Common::StringFromBuffer(setting_category_buf)}; | ||||
| 
 | ||||
|     // The name of the setting. This corresponds to the second-level keys of
 | ||||
|     // system_settings.ini.
 | ||||
|     const auto setting_name_buf{ctx.ReadBuffer(1)}; | ||||
|     const std::string setting_name{setting_name_buf.begin(), setting_name_buf.end()}; | ||||
|     const std::string setting_name{Common::StringFromBuffer(setting_name_buf)}; | ||||
| 
 | ||||
|     std::vector<u8> value; | ||||
|     auto response = GetSettingsItemValue(value, setting_category, setting_name); | ||||
|  | ||||
| @ -15,6 +15,7 @@ | ||||
| #include "common/logging/log.h" | ||||
| #include "common/math_util.h" | ||||
| #include "common/settings.h" | ||||
| #include "common/string_util.h" | ||||
| #include "common/swap.h" | ||||
| #include "core/core_timing.h" | ||||
| #include "core/hle/kernel/k_readable_event.h" | ||||
| @ -694,9 +695,7 @@ private: | ||||
|     void OpenLayer(HLERequestContext& ctx) { | ||||
|         IPC::RequestParser rp{ctx}; | ||||
|         const auto name_buf = rp.PopRaw<std::array<u8, 0x40>>(); | ||||
|         const auto end = std::find(name_buf.begin(), name_buf.end(), '\0'); | ||||
| 
 | ||||
|         const std::string display_name(name_buf.begin(), end); | ||||
|         const std::string display_name(Common::StringFromBuffer(name_buf)); | ||||
| 
 | ||||
|         const u64 layer_id = rp.Pop<u64>(); | ||||
|         const u64 aruid = rp.Pop<u64>(); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user