Bug fixes:

- Implement changes from CoreBuffer
- Do not update BufLen in WriteToFD()
This commit is contained in:
Charl Wentzel
2016-05-19 09:46:18 +02:00
parent 839c8a1432
commit 5c7eb956a7
2 changed files with 7 additions and 4 deletions

View File

@@ -296,7 +296,6 @@ int CBuffer::WriteToFD( int Handle, int MaxLen )
DataRemain -= BytesWritten;
// Update Buffer Pointers
BufLen -= BytesWritten;
ReadPos += BytesWritten;
if (ReadPos >= BufSize) {
ReadPos = 0; // Rolling over end of buffer, start at beginning

View File

@@ -321,6 +321,9 @@ bool CPortCore::ProcessBuffer( bool Force )
// Write buffer to Port
Buffer->WriteToFD( OutputHandle, Len );
// Clear processed bytes from buffer
Buffer->Clear( Len );
}
else
{
@@ -328,15 +331,16 @@ bool CPortCore::ProcessBuffer( bool Force )
while (Buffer->FindChar( '\n', Pos ))
{
// Show Packet
Len = Buffer->Peek( &Data, Pos+1 );
Len = Buffer->Peek( &Data, 0, Pos+1 );
ShowOutput( "Port In", OUT_NORMAL, Data, Len );
// Write buffer to Port
Buffer->WriteToFD( OutputHandle, Len );
// Clear processed bytes from buffer
Buffer->Clear( Len );
}
}
// Clear processed bytes from buffer
Buffer->Clear( Len );
return true;
}