aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/fs/archive.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-10-28 11:30:25 -0400
committerbunnei <bunneidev@gmail.com>2015-10-28 11:30:25 -0400
commitaf26b7a0bcb2058c861a0ea5ce9f9762d2ffa231 (patch)
tree50428d52aef94113cf2920916951679ff9cda93a /src/core/hle/service/fs/archive.cpp
parent7e18bcf6e0d429d9aeb23ec85acc762023d359d4 (diff)
parent5dfd2dba70b15cead6358b40b980d5be1b32039e (diff)
Merge pull request #1208 from archshift/free-bytes
Implement FS_User::GetFreeBytes
Diffstat (limited to 'src/core/hle/service/fs/archive.cpp')
-rw-r--r--src/core/hle/service/fs/archive.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/hle/service/fs/archive.cpp b/src/core/hle/service/fs/archive.cpp
index 6c0df67c3..d64b3656a 100644
--- a/src/core/hle/service/fs/archive.cpp
+++ b/src/core/hle/service/fs/archive.cpp
@@ -403,6 +403,13 @@ ResultVal<Kernel::SharedPtr<Directory>> OpenDirectoryFromArchive(ArchiveHandle a
return MakeResult<Kernel::SharedPtr<Directory>>(std::move(directory));
}
+ResultVal<u64> GetFreeBytesInArchive(ArchiveHandle archive_handle) {
+ ArchiveBackend* archive = GetArchive(archive_handle);
+ if (archive == nullptr)
+ return ERR_INVALID_HANDLE;
+ return MakeResult<u64>(archive->GetFreeBytes());
+}
+
ResultCode FormatArchive(ArchiveIdCode id_code, const FileSys::Path& path) {
auto archive_itr = id_code_map.find(id_code);
if (archive_itr == id_code_map.end()) {