diff options
| author | wwylele <wwylele@gmail.com> | 2016-10-02 11:29:04 +0800 |
|---|---|---|
| committer | wwylele <wwylele@gmail.com> | 2016-10-02 11:29:16 +0800 |
| commit | 96b0e9476bdd010051bec427d365b49437801f4d (patch) | |
| tree | 6a80eef8c0fbbf7e891755a102fcc8674efb1f26 /src/core/hle/service/fs/archive.cpp | |
| parent | 4b14e17b18e20f7f8077f0c7efc0e3a44ca8ca2a (diff) | |
fs: implement DeleteDirectoryRecursively
Diffstat (limited to 'src/core/hle/service/fs/archive.cpp')
| -rw-r--r-- | src/core/hle/service/fs/archive.cpp | 12 |
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); |
