diff options
| author | bunnei <bunneidev@gmail.com> | 2014-12-28 21:11:55 -0500 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2014-12-28 21:11:55 -0500 |
| commit | 77363d9590ed544cf714f26c575e98b7858e18e1 (patch) | |
| tree | a48225a3b62bb3d72d94289b6e34326cbed4f5cc /src/core/hle/service/fs/archive.cpp | |
| parent | 4bf803579f52633e7e9f02c0fc99116f89331b8d (diff) | |
| parent | 7e2903cb74050d846f2da951dff7e84aee13761b (diff) | |
Merge pull request #331 from yuriks/handle-reform
New Handle manager
Diffstat (limited to 'src/core/hle/service/fs/archive.cpp')
| -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 98db02f15..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_object_pool.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_object_pool.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_object_pool.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_object_pool.Create(directory.release()); + // TOOD(yuriks): Fix error reporting + Handle handle = Kernel::g_handle_table.Create(directory.release()).ValueOr(INVALID_HANDLE); return MakeResult<Handle>(handle); } |
