From bac0bb2e8f4278b3d2b706e983bd8817aea09cc0 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Wed, 22 May 2013 00:20:50 +0200 Subject: [PATCH] RepositoryWriterImpl: Write the heap fields in the header --- src/kits/package/hpkg/RepositoryWriterImpl.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/kits/package/hpkg/RepositoryWriterImpl.cpp b/src/kits/package/hpkg/RepositoryWriterImpl.cpp index 619d6d2383..e2751e60a9 100644 --- a/src/kits/package/hpkg/RepositoryWriterImpl.cpp +++ b/src/kits/package/hpkg/RepositoryWriterImpl.cpp @@ -273,8 +273,14 @@ RepositoryWriterImpl::_Finish() result = fHeapWriter->Finish(); if (result != B_OK) return result; - uint64 totalSize = fHeapWriter->HeapOffset() - + fHeapWriter->CompressedHeapSize(); + uint64 compressedHeapSize = fHeapWriter->CompressedHeapSize(); + uint64 totalSize = fHeapWriter->HeapOffset() + compressedHeapSize; + + header.heap_compression = B_HOST_TO_BENDIAN_INT16(B_HPKG_COMPRESSION_ZLIB); + header.heap_chunk_size = B_HOST_TO_BENDIAN_INT32(fHeapWriter->ChunkSize()); + header.heap_size_compressed = B_HOST_TO_BENDIAN_INT64(compressedHeapSize); + header.heap_size_uncompressed = B_HOST_TO_BENDIAN_INT64( + fHeapWriter->UncompressedHeapSize()); fListener->OnRepositoryDone(sizeof(header), infoLength, fRepositoryInfo->LicenseNames().CountStrings(), fPackageCount,