diff options
Diffstat (limited to 'src/zenutil/basicfile.cpp')
| -rw-r--r-- | src/zenutil/basicfile.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/zenutil/basicfile.cpp b/src/zenutil/basicfile.cpp index 819d0805d..dbae76717 100644 --- a/src/zenutil/basicfile.cpp +++ b/src/zenutil/basicfile.cpp @@ -712,6 +712,7 @@ BasicFileWriter::Write(void* Data, uint64_t Size, uint64_t FileOffset) m_BufferStart = m_BufferEnd = FileOffset; } + const uint8_t* DataPtr = (const uint8_t*)Data; while (Size) { const uint64_t RemainingBufferCapacity = m_BufferStart + m_BufferSize - m_BufferEnd; @@ -721,11 +722,12 @@ BasicFileWriter::Write(void* Data, uint64_t Size, uint64_t FileOffset) ZEN_ASSERT_SLOW(BufferWriteOffset < m_BufferSize); ZEN_ASSERT_SLOW((BufferWriteOffset + BlockWriteBytes) <= m_BufferSize); - memcpy(m_Buffer + BufferWriteOffset, Data, BlockWriteBytes); + memcpy(m_Buffer + BufferWriteOffset, DataPtr, BlockWriteBytes); Size -= BlockWriteBytes; m_BufferEnd += BlockWriteBytes; FileOffset += BlockWriteBytes; + DataPtr += BlockWriteBytes; if ((m_BufferEnd - m_BufferStart) == m_BufferSize) { |