aboutsummaryrefslogtreecommitdiff
path: root/src/zenutil/basicfile.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2024-01-22 10:33:15 +0100
committerGitHub <[email protected]>2024-01-22 10:33:15 +0100
commit884e51fea604dcdba95d13dfdd9f4ad108d0521a (patch)
tree18362159d6b38ffe5f8988dc18f7e5703cd30d0a /src/zenutil/basicfile.cpp
parentUse correct HTTP range values. (#632) (diff)
downloadzen-884e51fea604dcdba95d13dfdd9f4ad108d0521a.tar.xz
zen-884e51fea604dcdba95d13dfdd9f4ad108d0521a.zip
make sure to advance read buffer pointer in BasicFileWriter::Write (#633)
Diffstat (limited to 'src/zenutil/basicfile.cpp')
-rw-r--r--src/zenutil/basicfile.cpp4
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)
{