summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/disk_filesystem.cpp
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2018-03-21 15:36:26 +0100
committerSubv <subv2112@gmail.com>2018-03-21 15:55:59 +0100
commiteff3f60b73343365ad65638f55591965df6f7e25 (patch)
tree9b2d61666ff0f516b06d3a6cfda144afb5fb72e7 /src/core/file_sys/disk_filesystem.cpp
parentFS: Implemented IFileSystem's OpenDirectory function. (diff)
downloadyuzu-eff3f60b73343365ad65638f55591965df6f7e25.tar
yuzu-eff3f60b73343365ad65638f55591965df6f7e25.tar.gz
yuzu-eff3f60b73343365ad65638f55591965df6f7e25.tar.bz2
yuzu-eff3f60b73343365ad65638f55591965df6f7e25.tar.lz
yuzu-eff3f60b73343365ad65638f55591965df6f7e25.tar.xz
yuzu-eff3f60b73343365ad65638f55591965df6f7e25.tar.zst
yuzu-eff3f60b73343365ad65638f55591965df6f7e25.zip
Diffstat (limited to '')
-rw-r--r--src/core/file_sys/disk_filesystem.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/core/file_sys/disk_filesystem.cpp b/src/core/file_sys/disk_filesystem.cpp
index f620b7961..9383bf856 100644
--- a/src/core/file_sys/disk_filesystem.cpp
+++ b/src/core/file_sys/disk_filesystem.cpp
@@ -18,7 +18,7 @@ std::string Disk_FileSystem::GetName() const {
ResultVal<std::unique_ptr<StorageBackend>> Disk_FileSystem::OpenFile(const std::string& path,
Mode mode) const {
- std::string mode_str = "";
+ std::string mode_str;
u32 mode_flags = static_cast<u32>(mode);
// Calculate the correct open mode for the file.
@@ -95,8 +95,15 @@ ResultCode Disk_FileSystem::CreateFile(const std::string& path, u64 size) const
return ResultCode(-1);
}
-ResultCode Disk_FileSystem::CreateDirectory(const Path& path) const {
- LOG_WARNING(Service_FS, "(STUBBED) called");
+ResultCode Disk_FileSystem::CreateDirectory(const std::string& path) const {
+ // TODO(Subv): Perform path validation to prevent escaping the emulator sandbox.
+ std::string full_path = base_directory + path;
+
+ if (FileUtil::CreateDir(full_path)) {
+ return RESULT_SUCCESS;
+ }
+
+ LOG_CRITICAL(Service_FS, "(unreachable) Unknown error creating %s", full_path.c_str());
// TODO(wwylele): Use correct error code
return ResultCode(-1);
}