1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 00:17:46 +00:00

LibArchive: Extract logic for calculating ZIP statistics

This commit is contained in:
Sam Atkins 2023-07-27 14:21:12 +01:00 committed by Sam Atkins
parent 60e35f2a97
commit 8d53442187
5 changed files with 63 additions and 25 deletions

View file

@ -15,6 +15,7 @@
#include <AK/Stream.h>
#include <AK/String.h>
#include <AK/Vector.h>
#include <LibArchive/Statistics.h>
#include <LibCore/DateTime.h>
#include <string.h>
@ -254,7 +255,8 @@ struct ZipMember {
class Zip {
public:
static Optional<Zip> try_create(ReadonlyBytes buffer);
ErrorOr<bool> for_each_member(Function<ErrorOr<IterationDecision>(ZipMember const&)>);
ErrorOr<bool> for_each_member(Function<ErrorOr<IterationDecision>(ZipMember const&)>) const;
ErrorOr<Statistics> calculate_statistics() const;
private:
static bool find_end_of_central_directory_offset(ReadonlyBytes, size_t& offset);