summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/file_sys/errors.h1
-rw-r--r--src/core/hle/service/filesystem/fsp_srv.cpp13
2 files changed, 12 insertions, 2 deletions
diff --git a/src/core/file_sys/errors.h b/src/core/file_sys/errors.h
index 0ed7d2a0c..d3e9a3829 100644
--- a/src/core/file_sys/errors.h
+++ b/src/core/file_sys/errors.h
@@ -11,6 +11,7 @@ namespace FileSys {
11namespace ErrCodes { 11namespace ErrCodes {
12enum { 12enum {
13 NotFound = 1, 13 NotFound = 1,
14 SaveDataNotFound = 1002,
14}; 15};
15} 16}
16 17
diff --git a/src/core/hle/service/filesystem/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp_srv.cpp
index 1cf97e876..eb5748cf8 100644
--- a/src/core/hle/service/filesystem/fsp_srv.cpp
+++ b/src/core/hle/service/filesystem/fsp_srv.cpp
@@ -7,6 +7,7 @@
7#include "common/string_util.h" 7#include "common/string_util.h"
8#include "core/core.h" 8#include "core/core.h"
9#include "core/file_sys/directory.h" 9#include "core/file_sys/directory.h"
10#include "core/file_sys/errors.h"
10#include "core/file_sys/filesystem.h" 11#include "core/file_sys/filesystem.h"
11#include "core/file_sys/storage.h" 12#include "core/file_sys/storage.h"
12#include "core/hle/ipc_helpers.h" 13#include "core/hle/ipc_helpers.h"
@@ -531,12 +532,20 @@ void FSP_SRV::CreateSaveData(Kernel::HLERequestContext& ctx) {
531void FSP_SRV::MountSaveData(Kernel::HLERequestContext& ctx) { 532void FSP_SRV::MountSaveData(Kernel::HLERequestContext& ctx) {
532 NGLOG_WARNING(Service_FS, "(STUBBED) called"); 533 NGLOG_WARNING(Service_FS, "(STUBBED) called");
533 534
535 // TODO(Subv): Read the input parameters and mount the requested savedata instead of always
536 // mounting the current process' savedata.
534 FileSys::Path unused; 537 FileSys::Path unused;
535 auto filesystem = OpenFileSystem(Type::SaveData, unused).Unwrap(); 538 auto filesystem = OpenFileSystem(Type::SaveData, unused);
539
540 if (filesystem.Failed()) {
541 IPC::ResponseBuilder rb{ctx, 2, 0, 0};
542 rb.Push(ResultCode(ErrorModule::FS, FileSys::ErrCodes::SaveDataNotFound));
543 return;
544 }
536 545
537 IPC::ResponseBuilder rb{ctx, 2, 0, 1}; 546 IPC::ResponseBuilder rb{ctx, 2, 0, 1};
538 rb.Push(RESULT_SUCCESS); 547 rb.Push(RESULT_SUCCESS);
539 rb.PushIpcInterface<IFileSystem>(std::move(filesystem)); 548 rb.PushIpcInterface<IFileSystem>(std::move(filesystem.Unwrap()));
540} 549}
541 550
542void FSP_SRV::GetGlobalAccessLogMode(Kernel::HLERequestContext& ctx) { 551void FSP_SRV::GetGlobalAccessLogMode(Kernel::HLERequestContext& ctx) {