diff options
author | Subv <subv2112@gmail.com> | 2015-12-28 15:55:38 +0100 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2016-03-20 20:28:10 +0100 |
commit | b350f192bbfe61a212e00ea70d4dcd7d3e90b60a (patch) | |
tree | e49a83653a6d8aa4fe8e8818393d86ecf3e525d9 /src | |
parent | HLE/FS: FS::CreateFile takes an u64 for the file size. (diff) | |
download | yuzu-b350f192bbfe61a212e00ea70d4dcd7d3e90b60a.tar yuzu-b350f192bbfe61a212e00ea70d4dcd7d3e90b60a.tar.gz yuzu-b350f192bbfe61a212e00ea70d4dcd7d3e90b60a.tar.bz2 yuzu-b350f192bbfe61a212e00ea70d4dcd7d3e90b60a.tar.lz yuzu-b350f192bbfe61a212e00ea70d4dcd7d3e90b60a.tar.xz yuzu-b350f192bbfe61a212e00ea70d4dcd7d3e90b60a.tar.zst yuzu-b350f192bbfe61a212e00ea70d4dcd7d3e90b60a.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/file_sys/disk_archive.cpp | 5 | ||||
-rw-r--r-- | src/core/hle/result.h | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/core/file_sys/disk_archive.cpp b/src/core/file_sys/disk_archive.cpp index 614c2e2a0..5c68e944f 100644 --- a/src/core/file_sys/disk_archive.cpp +++ b/src/core/file_sys/disk_archive.cpp @@ -40,8 +40,11 @@ bool DiskArchive::DeleteDirectory(const Path& path) const { ResultCode DiskArchive::CreateFile(const FileSys::Path& path, u64 size) const { std::string full_path = mount_point + path.AsString(); + if (FileUtil::IsDirectory(full_path)) + return ResultCode(ErrorDescription::FS_NotAFile, ErrorModule::FS, ErrorSummary::Canceled, ErrorLevel::Status); + if (FileUtil::Exists(full_path)) - return ResultCode(ErrorDescription::AlreadyExists, ErrorModule::FS, ErrorSummary::NothingHappened, ErrorLevel::Info); + return ResultCode(ErrorDescription::FS_AlreadyExists, ErrorModule::FS, ErrorSummary::NothingHappened, ErrorLevel::Status); if (size == 0) { FileUtil::CreateEmptyFile(full_path); diff --git a/src/core/hle/result.h b/src/core/hle/result.h index 69613fbbb..b9ee5f7d9 100644 --- a/src/core/hle/result.h +++ b/src/core/hle/result.h @@ -19,7 +19,9 @@ enum class ErrorDescription : u32 { Success = 0, WrongAddress = 53, - FS_NotFound = 100, + FS_NotFound = 120, + FS_AlreadyExists = 190, + FS_NotAFile = 250, FS_NotFormatted = 340, ///< This is used by the FS service when creating a SaveData archive InvalidSection = 1000, TooLarge = 1001, |