diff options
| author | 2024-04-15 20:25:43 +0000 | |
|---|---|---|
| committer | 2024-04-15 20:25:43 +0000 | |
| commit | b402f570f2529be1675f58ec88404c152415581c (patch) | |
| tree | bdde3788eedc8e124cdb0607c425c690dc27dfaa /libs/androidfw/ZipFileRO.cpp | |
| parent | 23311d456a77417fa9607029b369f6ce73a376b4 (diff) | |
| parent | 2724e0f6fdc5807b9d195556b7dbfd19a83d2a09 (diff) | |
Merge changes from topic "punch_holes_apk" into main
* changes:
  Punch extracted ELF64 files
  Punch holes in extra field in local headers inside apk
  Add Extra field info in ZipFileRO
Diffstat (limited to 'libs/androidfw/ZipFileRO.cpp')
| -rw-r--r-- | libs/androidfw/ZipFileRO.cpp | 25 | 
1 files changed, 18 insertions, 7 deletions
| diff --git a/libs/androidfw/ZipFileRO.cpp b/libs/androidfw/ZipFileRO.cpp index 34a6bc27b93f..839c7b6fef37 100644 --- a/libs/androidfw/ZipFileRO.cpp +++ b/libs/androidfw/ZipFileRO.cpp @@ -119,30 +119,41 @@ ZipEntryRO ZipFileRO::findEntryByName(const char* entryName) const   * appear to be bogus.   */  bool ZipFileRO::getEntryInfo(ZipEntryRO entry, uint16_t* pMethod, + uint32_t* pUncompLen, uint32_t* pCompLen, off64_t* pOffset, + uint32_t* pModWhen, uint32_t* pCrc32) const +{ +     return getEntryInfo(entry, pMethod, pUncompLen, pCompLen, pOffset, pModWhen, +      pCrc32, nullptr); +} + +bool ZipFileRO::getEntryInfo(ZipEntryRO entry, uint16_t* pMethod,      uint32_t* pUncompLen, uint32_t* pCompLen, off64_t* pOffset, -    uint32_t* pModWhen, uint32_t* pCrc32) const +    uint32_t* pModWhen, uint32_t* pCrc32, uint16_t* pExtraFieldSize) const  {      const _ZipEntryRO* zipEntry = reinterpret_cast<_ZipEntryRO*>(entry);      const ZipEntry& ze = zipEntry->entry; -    if (pMethod != NULL) { +    if (pMethod != nullptr) {          *pMethod = ze.method;      } -    if (pUncompLen != NULL) { +    if (pUncompLen != nullptr) {          *pUncompLen = ze.uncompressed_length;      } -    if (pCompLen != NULL) { +    if (pCompLen != nullptr) {          *pCompLen = ze.compressed_length;      } -    if (pOffset != NULL) { +    if (pOffset != nullptr) {          *pOffset = ze.offset;      } -    if (pModWhen != NULL) { +    if (pModWhen != nullptr) {          *pModWhen = ze.mod_time;      } -    if (pCrc32 != NULL) { +    if (pCrc32 != nullptr) {          *pCrc32 = ze.crc32;      } +    if (pExtraFieldSize != nullptr) { +        *pExtraFieldSize = ze.extra_field_size; +    }      return true;  } |