1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 19:48:20 +02:00

MemLogger improvements

This commit is contained in:
Brian Fiete 2025-04-05 12:02:09 -04:00
parent 40aa9e9a8b
commit 412729e536
2 changed files with 10 additions and 4 deletions

View file

@ -16,6 +16,7 @@ MemLogger::MemLogger()
mMemBuffer = NULL; mMemBuffer = NULL;
mBufferSize = 0; mBufferSize = 0;
mTotalWriteSize = 0; mTotalWriteSize = 0;
mNoOverflow = false;
} }
MemLogger::~MemLogger() MemLogger::~MemLogger()
@ -30,12 +31,16 @@ void MemLogger::Write(const void* ptr, int size)
{ {
if (mMemBuffer == NULL) if (mMemBuffer == NULL)
return; return;
if (size == 0)
return;
int dataSize = mBufferSize - sizeof(MemLogger_Header); int dataSize = mBufferSize - sizeof(MemLogger_Header);
void* dataPtr = (uint8*)mMemBuffer + sizeof(MemLogger_Header); void* dataPtr = (uint8*)mMemBuffer + sizeof(MemLogger_Header);
if (mNoOverflow)
size = BF_MIN(size, dataSize - mTotalWriteSize - 1);
if (size <= 0)
return;
MemLogger_Header* header = (MemLogger_Header*)mMemBuffer; MemLogger_Header* header = (MemLogger_Header*)mMemBuffer;
bool wasWrapped = header->mHead < header->mTail; bool wasWrapped = header->mHead < header->mTail;

View file

@ -11,6 +11,7 @@ public:
void* mMemBuffer; void* mMemBuffer;
int mBufferSize; int mBufferSize;
int mTotalWriteSize; int mTotalWriteSize;
bool mNoOverflow;
public: public:
MemLogger(); MemLogger();