commitmonitor Code
Monitor your SVN repositories and notifies you on new commits
Brought to you by:
steveking
--- a/trunk/src/SerializeUtils.cpp +++ b/trunk/src/SerializeUtils.cpp @@ -2,9 +2,7 @@ #include "SerializeUtils.h" #include <assert.h> - -char * CSerializeUtils::buffer = NULL; -size_t CSerializeUtils::lenbuffer = 0; +char CSerializeUtils::buffer[4096] = {0}; CSerializeUtils::CSerializeUtils(void) { @@ -12,19 +10,6 @@ CSerializeUtils::~CSerializeUtils(void) { -} - -void CSerializeUtils::InitializeStatic() -{ - buffer = new char[1024]; - lenbuffer = 1024; -} - -void CSerializeUtils::CleanupStatic() -{ - if (buffer) - delete [] buffer; - lenbuffer = 0; } bool CSerializeUtils::SaveNumber(FILE * hFile, unsigned __int64 value) @@ -90,17 +75,22 @@ { if (length) { - if (length > lenbuffer) + if (length < 4096) { - delete [] buffer; - buffer = new char[length]; - lenbuffer = length; + if (fread(buffer, sizeof(char), length, hFile)) + { + str = string(buffer, length); + return true; + } } - if (fread(buffer, sizeof(char), length, hFile)) + char * pBuffer = new char[length]; + if (fread(pBuffer, sizeof(char), length, hFile)) { - str = string(buffer, length); + str = string(pBuffer, length); + delete [] pBuffer; return true; } + delete [] pBuffer; } else {