diff options
author | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2017-06-06 07:39:26 +0200 |
---|---|---|
committer | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2017-06-06 11:56:32 +0200 |
commit | 6354d083594249fa1995be7b024943c258f63880 (patch) | |
tree | be459930c35e50f698ef7747730092116eea6a74 /src/core/hle/service/fs/archive.cpp | |
parent | ResultVal: Add more convenience utils for creating and cascading results (diff) | |
download | yuzu-6354d083594249fa1995be7b024943c258f63880.tar yuzu-6354d083594249fa1995be7b024943c258f63880.tar.gz yuzu-6354d083594249fa1995be7b024943c258f63880.tar.bz2 yuzu-6354d083594249fa1995be7b024943c258f63880.tar.lz yuzu-6354d083594249fa1995be7b024943c258f63880.tar.xz yuzu-6354d083594249fa1995be7b024943c258f63880.tar.zst yuzu-6354d083594249fa1995be7b024943c258f63880.zip |
Diffstat (limited to 'src/core/hle/service/fs/archive.cpp')
-rw-r--r-- | src/core/hle/service/fs/archive.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/core/hle/service/fs/archive.cpp b/src/core/hle/service/fs/archive.cpp index d6128d6a7..bbc5f8067 100644 --- a/src/core/hle/service/fs/archive.cpp +++ b/src/core/hle/service/fs/archive.cpp @@ -84,6 +84,10 @@ File::File(std::unique_ptr<FileSys::FileBackend>&& backend, const FileSys::Path& File::~File() {} void File::HandleSyncRequest(Kernel::SharedPtr<Kernel::ServerSession> server_session) { + using Kernel::ClientSession; + using Kernel::ServerSession; + using Kernel::SharedPtr; + u32* cmd_buff = Kernel::GetCommandBuffer(); FileCommand cmd = static_cast<FileCommand>(cmd_buff[0]); switch (cmd) { @@ -162,10 +166,9 @@ void File::HandleSyncRequest(Kernel::SharedPtr<Kernel::ServerSession> server_ses case FileCommand::OpenLinkFile: { LOG_WARNING(Service_FS, "(STUBBED) File command OpenLinkFile %s", GetName().c_str()); - auto sessions = Kernel::ServerSession::CreateSessionPair(GetName(), shared_from_this()); - ClientConnected(std::get<Kernel::SharedPtr<Kernel::ServerSession>>(sessions)); - cmd_buff[3] = Kernel::g_handle_table - .Create(std::get<Kernel::SharedPtr<Kernel::ClientSession>>(sessions)) + auto sessions = ServerSession::CreateSessionPair(GetName()); + ClientConnected(std::get<SharedPtr<ServerSession>>(sessions)); + cmd_buff[3] = Kernel::g_handle_table.Create(std::get<SharedPtr<ClientSession>>(sessions)) .ValueOr(INVALID_HANDLE); break; } |