diff --git a/src/core/hle/service/filesystem/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp_srv.cpp index 06547e063..e2bb692c5 100644 --- a/src/core/hle/service/filesystem/fsp_srv.cpp +++ b/src/core/hle/service/filesystem/fsp_srv.cpp @@ -781,16 +781,17 @@ void FSP_SRV::CreateSaveDataFileSystem(Kernel::HLERequestContext& ctx) { } void FSP_SRV::OpenSaveDataFileSystem(Kernel::HLERequestContext& ctx) { + LOG_INFO(Service_FS, "called."); + + struct Parameters { + FileSys::SaveDataSpaceId save_data_space_id; + FileSys::SaveDataDescriptor descriptor; + }; + IPC::RequestParser rp{ctx}; + const auto parameters = rp.PopRaw(); - auto space_id = rp.PopRaw(); - auto unk = rp.Pop(); - LOG_INFO(Service_FS, "called with unknown={:08X}", unk); - - auto save_struct = rp.PopRaw(); - - auto dir = OpenSaveData(space_id, save_struct); - + auto dir = OpenSaveData(parameters.save_data_space_id, parameters.descriptor); if (dir.Failed()) { IPC::ResponseBuilder rb{ctx, 2, 0, 0}; rb.Push(FileSys::ERROR_ENTITY_NOT_FOUND);