2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-01-13 12:11:50 +00:00

fix: writing bad zone sizes with x64 hosts

This commit is contained in:
Jan Laupetin
2026-01-09 21:02:24 +00:00
parent 12a25709b4
commit 6ad71bd7a9
2 changed files with 6 additions and 4 deletions

View File

@@ -13,8 +13,8 @@ namespace
{
const auto blockCount = static_cast<unsigned>(zoneLoader.m_blocks.size());
const auto blockSizes = std::make_unique<xblock_size_t[]>(blockCount);
stream.Load(blockSizes.get(), sizeof(xblock_size_t) * blockCount);
std::vector<xblock_size_t> blockSizes(blockCount);
stream.Load(blockSizes.data(), sizeof(xblock_size_t) * blockCount);
uint64_t totalMemory = 0;
for (unsigned int block = 0; block < blockCount; block++)

View File

@@ -1,5 +1,7 @@
#include "StepWriteZoneSizes.h"
#include <cstdint>
StepWriteZoneSizes::StepWriteZoneSizes(StepWriteZoneContentToMemory* memory)
: m_memory(memory)
{
@@ -7,8 +9,8 @@ StepWriteZoneSizes::StepWriteZoneSizes(StepWriteZoneContentToMemory* memory)
void StepWriteZoneSizes::PerformStep(ZoneWriter* zoneWriter, IWritingStream* stream)
{
auto totalSize = static_cast<size_t>(m_memory->GetData()->m_total_size);
size_t externalSize = 0;
const auto totalSize = static_cast<uint32_t>(m_memory->GetData()->m_total_size);
constexpr uint32_t externalSize = 0;
stream->Write(&totalSize, sizeof(totalSize));
stream->Write(&externalSize, sizeof(externalSize));