mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 19:48:20 +02:00
MemLogger improvements
This commit is contained in:
parent
40aa9e9a8b
commit
412729e536
2 changed files with 10 additions and 4 deletions
|
@ -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;
|
||||||
|
|
|
@ -11,6 +11,7 @@ public:
|
||||||
void* mMemBuffer;
|
void* mMemBuffer;
|
||||||
int mBufferSize;
|
int mBufferSize;
|
||||||
int mTotalWriteSize;
|
int mTotalWriteSize;
|
||||||
|
bool mNoOverflow;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MemLogger();
|
MemLogger();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue