Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 362 → Rev 363

/shark/trunk/tracer/include/tracer.h
121,23 → 121,23
 
// Adjust FirstTracerBuffer
if (FirstTracerBuffer != StartTracerBuffer) {
while ((CurrentTracerBuffer + size - 1) > FirstTracerBuffer) {
while ((CurrentTracerBuffer + size - 1) >= FirstTracerBuffer &&
FirstTracerBuffer != StartTracerBuffer) {
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
FirstTracerBuffer = StartTracerBuffer + *(BYTE *)(StartTracerBuffer + 9);
while ((CurrentTracerBuffer + size - 1) >= FirstTracerBuffer) {
FirstTracerBuffer += *(BYTE *)(FirstTracerBuffer + 9);
if (FirstTracerBuffer >= LastBeforeEndTracerBuffer) FirstTracerBuffer = StartTracerBuffer;
}
}
 
// Add the new event