Improve DataPack memory allocation

This commit is contained in:
Arkshine 2015-07-13 23:49:51 +02:00
parent b145b4c651
commit f7c4ed050f

View File

@ -29,7 +29,7 @@
#include "CDataPack.h" #include "CDataPack.h"
#define DATAPACK_INITIAL_SIZE 512 #define DATAPACK_INITIAL_SIZE 64
CDataPack::CDataPack() CDataPack::CDataPack()
{ {
@ -60,9 +60,10 @@ void CDataPack::CheckSize(size_t typesize)
do do
{ {
m_capacity *= 2; m_capacity *= 2;
} while (pos + typesize > m_capacity);
m_pBase = (char *)realloc(m_pBase, m_capacity); m_pBase = (char *)realloc(m_pBase, m_capacity);
m_curptr = m_pBase + pos; m_curptr = m_pBase + pos;
} while (m_curptr - m_pBase + typesize > m_capacity);
} }
void CDataPack::ResetSize() void CDataPack::ResetSize()