repository writer: fix use of incorrect header size
The header size of the package file header was used, which resulted in broken repository files.
This commit is contained in:
@@ -100,7 +100,7 @@ protected:
|
|||||||
typedef DoublyLinkedList<PackageAttribute> PackageAttributeList;
|
typedef DoublyLinkedList<PackageAttribute> PackageAttributeList;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
status_t Init(const char* fileName,
|
status_t Init(const char* fileName, size_t headerSize,
|
||||||
const BPackageWriterParameters& parameters);
|
const BPackageWriterParameters& parameters);
|
||||||
|
|
||||||
void RegisterPackageInfo(
|
void RegisterPackageInfo(
|
||||||
|
|||||||
@@ -606,7 +606,8 @@ status_t
|
|||||||
PackageWriterImpl::_Init(const char* fileName,
|
PackageWriterImpl::_Init(const char* fileName,
|
||||||
const BPackageWriterParameters& parameters)
|
const BPackageWriterParameters& parameters)
|
||||||
{
|
{
|
||||||
status_t result = inherited::Init(fileName, parameters);
|
status_t result = inherited::Init(fileName, sizeof(hpkg_header),
|
||||||
|
parameters);
|
||||||
if (result != B_OK)
|
if (result != B_OK)
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
|
|||||||
@@ -250,7 +250,8 @@ RepositoryWriterImpl::Finish()
|
|||||||
status_t
|
status_t
|
||||||
RepositoryWriterImpl::_Init(const char* fileName)
|
RepositoryWriterImpl::_Init(const char* fileName)
|
||||||
{
|
{
|
||||||
return inherited::Init(fileName, BPackageWriterParameters());
|
return inherited::Init(fileName, sizeof(hpkg_repo_header),
|
||||||
|
BPackageWriterParameters());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -243,7 +243,7 @@ WriterImplBase::~WriterImplBase()
|
|||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
WriterImplBase::Init(const char* fileName,
|
WriterImplBase::Init(const char* fileName, size_t headerSize,
|
||||||
const BPackageWriterParameters& parameters)
|
const BPackageWriterParameters& parameters)
|
||||||
{
|
{
|
||||||
fParameters = parameters;
|
fParameters = parameters;
|
||||||
@@ -266,8 +266,8 @@ WriterImplBase::Init(const char* fileName,
|
|||||||
fFileName = fileName;
|
fFileName = fileName;
|
||||||
|
|
||||||
// create heap writer
|
// create heap writer
|
||||||
fHeapWriter = new PackageFileHeapWriter(fErrorOutput, FD(),
|
fHeapWriter = new PackageFileHeapWriter(fErrorOutput, FD(), headerSize,
|
||||||
sizeof(hpkg_header), fParameters.CompressionLevel());
|
fParameters.CompressionLevel());
|
||||||
fHeapWriter->Init();
|
fHeapWriter->Init();
|
||||||
fDataWriter = fHeapWriter->DataWriter();
|
fDataWriter = fHeapWriter->DataWriter();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user