From f707026ac50c53716ac697ed439630d7728e9db6 Mon Sep 17 00:00:00 2001 From: Subv Date: Thu, 3 Mar 2016 13:05:50 -0500 Subject: HLE/FS: Change the error code returned when an ExtSaveData archive is not found. This allows Fire Emblem to boot again. --- src/core/hle/service/fs/archive.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/core/hle/service/fs/archive.cpp') diff --git a/src/core/hle/service/fs/archive.cpp b/src/core/hle/service/fs/archive.cpp index 676a2ee56..590697e76 100644 --- a/src/core/hle/service/fs/archive.cpp +++ b/src/core/hle/service/fs/archive.cpp @@ -103,14 +103,18 @@ ResultVal File::SyncRequest() { u32 address = cmd_buff[5]; LOG_TRACE(Service_FS, "Read %s %s: offset=0x%llx length=%d address=0x%x", GetTypeName().c_str(), GetName().c_str(), offset, length, address); - if (offset + length > backend->GetSize()) - LOG_ERROR(Service_FS, "Reading from out of bounds offset=0x%llX length=0x%08X file_size=0x%llX", offset, length, backend->GetSize()); + + if (offset + length > backend->GetSize()) { + LOG_ERROR(Service_FS, "Reading from out of bounds offset=0x%llX length=0x%08X file_size=0x%llX", + offset, length, backend->GetSize()); + } + ResultVal read = backend->Read(offset, length, Memory::GetPointer(address)); if (read.Failed()) { cmd_buff[1] = read.Code().raw; return read.Code(); } - cmd_buff[2] = static_cast(read.MoveFrom()); + cmd_buff[2] = static_cast(*read); break; } @@ -129,7 +133,7 @@ ResultVal File::SyncRequest() { cmd_buff[1] = written.Code().raw; return written.Code(); } - cmd_buff[2] = static_cast(written.MoveFrom()); + cmd_buff[2] = static_cast(*written); break; } -- cgit v1.2.3