diff options
author | Subv <subv2112@gmail.com> | 2015-12-28 16:17:06 +0100 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2016-03-20 20:28:22 +0100 |
commit | 95b34f8081e26cfe75d63a853d1626fdd5b636e6 (patch) | |
tree | a25b91d70bf84ad71922f63f2f92e37320d2bbfa /src/core/hle/service/fs/archive.cpp | |
parent | HLE/FS: Fixed the OpenDirectory error code (diff) | |
download | yuzu-95b34f8081e26cfe75d63a853d1626fdd5b636e6.tar yuzu-95b34f8081e26cfe75d63a853d1626fdd5b636e6.tar.gz yuzu-95b34f8081e26cfe75d63a853d1626fdd5b636e6.tar.bz2 yuzu-95b34f8081e26cfe75d63a853d1626fdd5b636e6.tar.lz yuzu-95b34f8081e26cfe75d63a853d1626fdd5b636e6.tar.xz yuzu-95b34f8081e26cfe75d63a853d1626fdd5b636e6.tar.zst yuzu-95b34f8081e26cfe75d63a853d1626fdd5b636e6.zip |
Diffstat (limited to 'src/core/hle/service/fs/archive.cpp')
-rw-r--r-- | src/core/hle/service/fs/archive.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/core/hle/service/fs/archive.cpp b/src/core/hle/service/fs/archive.cpp index 0c56777cf..2ce5f0fe7 100644 --- a/src/core/hle/service/fs/archive.cpp +++ b/src/core/hle/service/fs/archive.cpp @@ -307,13 +307,14 @@ ResultVal<Kernel::SharedPtr<File>> OpenFileFromArchive(ArchiveHandle archive_han if (archive == nullptr) return ERR_INVALID_HANDLE; - std::unique_ptr<FileSys::FileBackend> backend = archive->OpenFile(path, mode); - if (backend == nullptr) { + auto backend = archive->OpenFile(path, mode); + if (backend.Failed()) { + return backend.Code(); return ResultCode(ErrorDescription::FS_NotFound, ErrorModule::FS, ErrorSummary::NotFound, ErrorLevel::Status); } - auto file = Kernel::SharedPtr<File>(new File(std::move(backend), path)); + auto file = Kernel::SharedPtr<File>(new File(backend.MoveFrom(), path)); return MakeResult<Kernel::SharedPtr<File>>(std::move(file)); } |