summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/fs/archive.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2016-10-04 02:34:56 +0200
committerGitHub <noreply@github.com>2016-10-04 02:34:56 +0200
commit7ed97fb89aa8cfe39a36f1958de61e69b2e5026c (patch)
tree779a58d37d20674d97b648b9546413c1ce8f7d6a /src/core/hle/service/fs/archive.cpp
parentMerge pull request #2103 from wwylele/gpu-reg-cleanup (diff)
parentfs: clean up log format (diff)
downloadyuzu-7ed97fb89aa8cfe39a36f1958de61e69b2e5026c.tar
yuzu-7ed97fb89aa8cfe39a36f1958de61e69b2e5026c.tar.gz
yuzu-7ed97fb89aa8cfe39a36f1958de61e69b2e5026c.tar.bz2
yuzu-7ed97fb89aa8cfe39a36f1958de61e69b2e5026c.tar.lz
yuzu-7ed97fb89aa8cfe39a36f1958de61e69b2e5026c.tar.xz
yuzu-7ed97fb89aa8cfe39a36f1958de61e69b2e5026c.tar.zst
yuzu-7ed97fb89aa8cfe39a36f1958de61e69b2e5026c.zip
Diffstat (limited to 'src/core/hle/service/fs/archive.cpp')
-rw-r--r--src/core/hle/service/fs/archive.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/core/hle/service/fs/archive.cpp b/src/core/hle/service/fs/archive.cpp
index 4dc7e1e3c..7f9696bfb 100644
--- a/src/core/hle/service/fs/archive.cpp
+++ b/src/core/hle/service/fs/archive.cpp
@@ -362,6 +362,18 @@ ResultCode DeleteDirectoryFromArchive(ArchiveHandle archive_handle, const FileSy
ErrorSummary::Canceled, ErrorLevel::Status);
}
+ResultCode DeleteDirectoryRecursivelyFromArchive(ArchiveHandle archive_handle,
+ const FileSys::Path& path) {
+ ArchiveBackend* archive = GetArchive(archive_handle);
+ if (archive == nullptr)
+ return ERR_INVALID_ARCHIVE_HANDLE;
+
+ if (archive->DeleteDirectoryRecursively(path))
+ return RESULT_SUCCESS;
+ return ResultCode(ErrorDescription::NoData, ErrorModule::FS, // TODO: verify description
+ ErrorSummary::Canceled, ErrorLevel::Status);
+}
+
ResultCode CreateFileInArchive(ArchiveHandle archive_handle, const FileSys::Path& path,
u64 file_size) {
ArchiveBackend* archive = GetArchive(archive_handle);