From e04dc6ded7c3ca015095f7826aeb63804624abed Mon Sep 17 00:00:00 2001 From: Markus Mittendrein Date: Thu, 30 Apr 2020 17:39:24 +0200 Subject: Add crc to CC4Group_EntryInfo --- src/cc4group.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/cc4group.c') diff --git a/src/cc4group.c b/src/cc4group.c index bd0ea1a..0435c72 100644 --- a/src/cc4group.c +++ b/src/cc4group.c @@ -3089,6 +3089,20 @@ static bool cc4group_getEntryInfoForEntry(CC4Group* const this, const C4GroupEnt } } + uint32_t crc = entry->core.CRC; + if(entry->core.HasCRC != C4GroupEntryCore_ContentsFileNameCRC) + { + if(lazy) + { + crc = 0; + } + else + { + cc4group_calculateEntryCRC(this, (C4GroupEntryData*)entry); + crc = entry->core.CRC; + } + } + C4GroupHeader* headerOrParentHeader = header != NULL ? header : entry->parent != NULL ? entry->parent->header : NULL; *info = (CC4Group_EntryInfo){ @@ -3099,7 +3113,8 @@ static bool cc4group_getEntryInfoForEntry(CC4Group* const this, const C4GroupEnt .totalSize = entry->core.Size, .executable = entry->core.Executable ? true : false, .directory = entry->core.Directory ? true : false, - .official = headerOrParentHeader != NULL ? C4GroupHeader_isOfficial(headerOrParentHeader) : false + .official = headerOrParentHeader != NULL ? C4GroupHeader_isOfficial(headerOrParentHeader) : false, + .crc = crc }; return true; -- cgit v1.2.3-54-g00ecf