diff options
author | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2014-12-21 13:04:08 +0100 |
---|---|---|
committer | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2014-12-28 14:52:55 +0100 |
commit | 7e2903cb74050d846f2da951dff7e84aee13761b (patch) | |
tree | 621c9245d2dd393a9569b1b4192f50a27d831972 /src/core/hle/service/fs | |
parent | Kernel: Replace GetStaticHandleType by HANDLE_TYPE constants (diff) | |
download | yuzu-7e2903cb74050d846f2da951dff7e84aee13761b.tar yuzu-7e2903cb74050d846f2da951dff7e84aee13761b.tar.gz yuzu-7e2903cb74050d846f2da951dff7e84aee13761b.tar.bz2 yuzu-7e2903cb74050d846f2da951dff7e84aee13761b.tar.lz yuzu-7e2903cb74050d846f2da951dff7e84aee13761b.tar.xz yuzu-7e2903cb74050d846f2da951dff7e84aee13761b.tar.zst yuzu-7e2903cb74050d846f2da951dff7e84aee13761b.zip |
Diffstat (limited to 'src/core/hle/service/fs')
-rw-r--r-- | src/core/hle/service/fs/archive.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/core/hle/service/fs/archive.cpp b/src/core/hle/service/fs/archive.cpp index 5746b58e5..487bf3aa7 100644 --- a/src/core/hle/service/fs/archive.cpp +++ b/src/core/hle/service/fs/archive.cpp @@ -133,7 +133,7 @@ public: case FileCommand::Close: { LOG_TRACE(Service_FS, "Close %s %s", GetTypeName().c_str(), GetName().c_str()); - Kernel::g_handle_table.Destroy<File>(GetHandle()); + backend->Close(); break; } @@ -189,7 +189,7 @@ public: case DirectoryCommand::Close: { LOG_TRACE(Service_FS, "Close %s %s", GetTypeName().c_str(), GetName().c_str()); - Kernel::g_handle_table.Destroy<Directory>(GetHandle()); + backend->Close(); break; } @@ -283,7 +283,8 @@ ResultVal<Handle> OpenFileFromArchive(ArchiveHandle archive_handle, const FileSy } auto file = Common::make_unique<File>(std::move(backend), path); - Handle handle = Kernel::g_handle_table.Create(file.release()); + // TOOD(yuriks): Fix error reporting + Handle handle = Kernel::g_handle_table.Create(file.release()).ValueOr(INVALID_HANDLE); return MakeResult<Handle>(handle); } @@ -388,7 +389,8 @@ ResultVal<Handle> OpenDirectoryFromArchive(ArchiveHandle archive_handle, const F } auto directory = Common::make_unique<Directory>(std::move(backend), path); - Handle handle = Kernel::g_handle_table.Create(directory.release()); + // TOOD(yuriks): Fix error reporting + Handle handle = Kernel::g_handle_table.Create(directory.release()).ValueOr(INVALID_HANDLE); return MakeResult<Handle>(handle); } |