FS: Use the correct error code when trying to open files that don't exist.
This commit is contained in:
parent
e4b7a1d160
commit
84e1c0a430
|
@ -7,6 +7,7 @@
|
||||||
#include "common/common_types.h"
|
#include "common/common_types.h"
|
||||||
#include "common/logging/log.h"
|
#include "common/logging/log.h"
|
||||||
#include "core/file_sys/disk_filesystem.h"
|
#include "core/file_sys/disk_filesystem.h"
|
||||||
|
#include "core/file_sys/errors.h"
|
||||||
|
|
||||||
namespace FileSys {
|
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");
|
auto file = std::make_shared<FileUtil::IOFile>(full_path, mode == Mode::Read ? "rb" : "wb");
|
||||||
|
|
||||||
if (!file->IsOpen()) {
|
if (!file->IsOpen()) {
|
||||||
// TODO(Subv): Find out the correct error code.
|
return ERROR_PATH_NOT_FOUND;
|
||||||
return ResultCode(-1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return MakeResult<std::unique_ptr<StorageBackend>>(
|
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 {
|
ResultVal<FileSys::EntryType> Disk_FileSystem::GetEntryType(const std::string& path) const {
|
||||||
std::string full_path = base_directory + path;
|
std::string full_path = base_directory + path;
|
||||||
if (!FileUtil::Exists(full_path)) {
|
if (!FileUtil::Exists(full_path)) {
|
||||||
// TODO(Subv): Find out what this actually means
|
return ERROR_PATH_NOT_FOUND;
|
||||||
return ResultCode(ErrorModule::FS, 1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(Subv): Find out the EntryType values
|
// TODO(Subv): Find out the EntryType values
|
||||||
|
|
|
@ -10,36 +10,17 @@ namespace FileSys {
|
||||||
|
|
||||||
namespace ErrCodes {
|
namespace ErrCodes {
|
||||||
enum {
|
enum {
|
||||||
RomFSNotFound = 100,
|
NotFound = 1,
|
||||||
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,
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
constexpr ResultCode ERROR_PATH_NOT_FOUND(ErrorModule::FS, ErrCodes::NotFound);
|
||||||
|
|
||||||
// TODO(bunnei): Replace these with correct errors for Switch OS
|
// TODO(bunnei): Replace these with correct errors for Switch OS
|
||||||
constexpr ResultCode ERROR_INVALID_PATH(ResultCode(-1));
|
constexpr ResultCode ERROR_INVALID_PATH(ResultCode(-1));
|
||||||
constexpr ResultCode ERROR_UNSUPPORTED_OPEN_FLAGS(ResultCode(-1));
|
constexpr ResultCode ERROR_UNSUPPORTED_OPEN_FLAGS(ResultCode(-1));
|
||||||
constexpr ResultCode ERROR_INVALID_OPEN_FLAGS(ResultCode(-1));
|
constexpr ResultCode ERROR_INVALID_OPEN_FLAGS(ResultCode(-1));
|
||||||
constexpr ResultCode ERROR_FILE_NOT_FOUND(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_UNEXPECTED_FILE_OR_DIRECTORY(ResultCode(-1));
|
||||||
constexpr ResultCode ERROR_DIRECTORY_ALREADY_EXISTS(ResultCode(-1));
|
constexpr ResultCode ERROR_DIRECTORY_ALREADY_EXISTS(ResultCode(-1));
|
||||||
constexpr ResultCode ERROR_FILE_ALREADY_EXISTS(ResultCode(-1));
|
constexpr ResultCode ERROR_FILE_ALREADY_EXISTS(ResultCode(-1));
|
||||||
|
|
Reference in New Issue