Эх сурвалжийг харах

HLE/FS: Corrected the error codes for CreateFile

Subv 10 жил өмнө
parent
commit
b350f192bb

+ 4 - 1
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);

+ 3 - 1
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,