[FS] Add DeleteFile

This commit is contained in:
wheremyfoodat 2023-01-29 01:27:27 +02:00
parent a1cb50925f
commit 687c99cab6
13 changed files with 84 additions and 6 deletions

View file

@ -30,6 +30,22 @@ CreateFileResult ExtSaveDataArchive::createFile(const FSPath& path, u64 size) {
return CreateFileResult::Success;
}
DeleteFileResult ExtSaveDataArchive::deleteFile(const FSPath& path) {
if (path.type == PathType::UTF16) {
if (!isPathSafe<PathType::UTF16>(path))
Helpers::panic("Unsafe path in ExtSaveData::DeleteFile");
fs::path p = IOFile::getAppData() / "NAND";
p += fs::path(path.utf16_string).make_preferred();
bool success = fs::remove(p);
return success ? DeleteFileResult::Success : DeleteFileResult::FileNotFound;
}
Helpers::panic("ExtSaveDataArchive::DeleteFile: Failed");
return DeleteFileResult::Success;
}
FileDescriptor ExtSaveDataArchive::openFile(const FSPath& path, const FilePerms& perms) {
if (path.type == PathType::UTF16) {
if (!isPathSafe<PathType::UTF16>(path))

View file

@ -24,6 +24,11 @@ CreateFileResult NCCHArchive::createFile(const FSPath& path, u64 size) {
return CreateFileResult::Success;
}
DeleteFileResult NCCHArchive::deleteFile(const FSPath& path) {
Helpers::panic("[NCCH] Unimplemented DeleteFile");
return DeleteFileResult::Success;
}
FileDescriptor NCCHArchive::openFile(const FSPath& path, const FilePerms& perms) {
if (path.type != PathType::Binary || path.binary.size() != 20) {
Helpers::panic("NCCHArchive::OpenFile: Invalid path");

View file

@ -7,6 +7,11 @@ CreateFileResult SaveDataArchive::createFile(const FSPath& path, u64 size) {
return CreateFileResult::Success;
}
DeleteFileResult SaveDataArchive::deleteFile(const FSPath& path) {
Helpers::panic("[SaveData] Unimplemented DeleteFile");
return DeleteFileResult::Success;
}
FileDescriptor SaveDataArchive::openFile(const FSPath& path, const FilePerms& perms) {
if (!cartHasSaveData()) {
printf("Tried to read SaveData FS without save data\n");

View file

@ -6,6 +6,11 @@ CreateFileResult SDMCArchive::createFile(const FSPath& path, u64 size) {
return CreateFileResult::Success;
}
DeleteFileResult SDMCArchive::deleteFile(const FSPath& path) {
Helpers::panic("[SDMC] Unimplemented DeleteFile");
return DeleteFileResult::Success;
}
FileDescriptor SDMCArchive::openFile(const FSPath& path, const FilePerms& perms) {
printf("SDMCArchive::OpenFile: Failed");
return FileError;

View file

@ -14,6 +14,11 @@ CreateFileResult SelfNCCHArchive::createFile(const FSPath& path, u64 size) {
return CreateFileResult::Success;
}
DeleteFileResult SelfNCCHArchive::deleteFile(const FSPath& path) {
Helpers::panic("[SelfNCCH] Unimplemented DeleteFile");
return DeleteFileResult::Success;
}
FileDescriptor SelfNCCHArchive::openFile(const FSPath& path, const FilePerms& perms) {
if (!hasRomFS()) {
printf("Tried to open a SelfNCCH file without a RomFS\n");