Просмотр исходного кода

FS: Use the correct error code when trying to open files that don't exist.

Subv 8 лет назад
Родитель
Сommit
84e1c0a430
2 измененных файлов с 6 добавлено и 26 удалено
  1. 3 4
      src/core/file_sys/disk_filesystem.cpp
  2. 3 22
      src/core/file_sys/errors.h

+ 3 - 4
src/core/file_sys/disk_filesystem.cpp

@@ -7,6 +7,7 @@
 #include "common/common_types.h"
 #include "common/logging/log.h"
 #include "core/file_sys/disk_filesystem.h"
+#include "core/file_sys/errors.h"
 
 namespace FileSys {
 
@@ -22,8 +23,7 @@ ResultVal<std::unique_ptr<StorageBackend>> Disk_FileSystem::OpenFile(const std::
     auto file = std::make_shared<FileUtil::IOFile>(full_path, mode == Mode::Read ? "rb" : "wb");
 
     if (!file->IsOpen()) {
-        // TODO(Subv): Find out the correct error code.
-        return ResultCode(-1);
+        return ERROR_PATH_NOT_FOUND;
     }
 
     return MakeResult<std::unique_ptr<StorageBackend>>(
@@ -100,8 +100,7 @@ u64 Disk_FileSystem::GetFreeSpaceSize() const {
 ResultVal<FileSys::EntryType> Disk_FileSystem::GetEntryType(const std::string& path) const {
     std::string full_path = base_directory + path;
     if (!FileUtil::Exists(full_path)) {
-        // TODO(Subv): Find out what this actually means
-        return ResultCode(ErrorModule::FS, 1);
+        return ERROR_PATH_NOT_FOUND;
     }
 
     // TODO(Subv): Find out the EntryType values

+ 3 - 22
src/core/file_sys/errors.h

@@ -10,36 +10,17 @@ namespace FileSys {
 
 namespace ErrCodes {
 enum {
-    RomFSNotFound = 100,
-    ArchiveNotMounted = 101,
-    FileNotFound = 112,
-    PathNotFound = 113,
-    GameCardNotInserted = 141,
-    NotFound = 120,
-    FileAlreadyExists = 180,
-    DirectoryAlreadyExists = 185,
-    AlreadyExists = 190,
-    InvalidOpenFlags = 230,
-    DirectoryNotEmpty = 240,
-    NotAFile = 250,
-    NotFormatted = 340, ///< This is used by the FS service when creating a SaveData archive
-    ExeFSSectionNotFound = 567,
-    CommandNotAllowed = 630,
-    InvalidReadFlag = 700,
-    InvalidPath = 702,
-    WriteBeyondEnd = 705,
-    UnsupportedOpenFlags = 760,
-    IncorrectExeFSReadSize = 761,
-    UnexpectedFileOrDirectory = 770,
+    NotFound = 1,
 };
 }
 
+constexpr ResultCode ERROR_PATH_NOT_FOUND(ErrorModule::FS, ErrCodes::NotFound);
+
 // TODO(bunnei): Replace these with correct errors for Switch OS
 constexpr ResultCode ERROR_INVALID_PATH(ResultCode(-1));
 constexpr ResultCode ERROR_UNSUPPORTED_OPEN_FLAGS(ResultCode(-1));
 constexpr ResultCode ERROR_INVALID_OPEN_FLAGS(ResultCode(-1));
 constexpr ResultCode ERROR_FILE_NOT_FOUND(ResultCode(-1));
-constexpr ResultCode ERROR_PATH_NOT_FOUND(ResultCode(-1));
 constexpr ResultCode ERROR_UNEXPECTED_FILE_OR_DIRECTORY(ResultCode(-1));
 constexpr ResultCode ERROR_DIRECTORY_ALREADY_EXISTS(ResultCode(-1));
 constexpr ResultCode ERROR_FILE_ALREADY_EXISTS(ResultCode(-1));