121,23 → 121,23 |
|
// Adjust FirstTracerBuffer |
if (FirstTracerBuffer != StartTracerBuffer) { |
while ((CurrentTracerBuffer + size - 1) >= FirstTracerBuffer && |
FirstTracerBuffer != StartTracerBuffer) { |
while ((CurrentTracerBuffer + size - 1) > FirstTracerBuffer) { |
FirstTracerBuffer += *(BYTE *)(FirstTracerBuffer + 9); |
if (FirstTracerBuffer >= LastBeforeEndTracerBuffer) FirstTracerBuffer = StartTracerBuffer; |
if (FirstTracerBuffer > LastBeforeEndTracerBuffer) FirstTracerBuffer = StartTracerBuffer; |
} |
} |
|
// Check if we overcome EndTracerBuffer |
if ((CurrentTracerBuffer + size - 1) > EndTracerBuffer) { |
int i; |
//Clear remain memory |
for (i=0;i<(EndTracerBuffer-CurrentTracerBuffer+1);i++) |
*(BYTE *)(CurrentTracerBuffer + i) = 0; |
//Cyclical Buffer implementation |
LastBeforeEndTracerBuffer = CurrentTracerBuffer; |
CurrentTracerBuffer = StartTracerBuffer; |
//Set the First Event |
while ((CurrentTracerBuffer + size - 1) >= FirstTracerBuffer) { |
FirstTracerBuffer += *(BYTE *)(FirstTracerBuffer + 9); |
if (FirstTracerBuffer >= LastBeforeEndTracerBuffer) FirstTracerBuffer = StartTracerBuffer; |
} |
FirstTracerBuffer = StartTracerBuffer + *(BYTE *)(StartTracerBuffer + 9); |
} |
|
// Add the new event |