void M9803RMaster::RefreshM9803R(void)
{
int8_t index_of_crlf = 0;
// Read data if available
while (M9803RSerial.available())
{
_u8ResponseBuffer[_u8ResponseBufferIndex] = M9803RSerial.read();
_u8ResponseBufferIndex++;
}
index_of_crlf = getEndOfPacket();
if (index_of_crlf != -1)
{
_u8M9803RStatus = M9803RCore(index_of_crlf);
}
}
should have a test on the array size.
void M9803RMaster::RefreshM9803R(void)
{
// Read data if available
while ( (M9803RSerial.available() > 0 ) && (_u8ResponseBufferIndex < ku8MaxBufferSize) )
{
_u8ResponseBuffer[_u8ResponseBufferIndex] = M9803RSerial.read();
_u8ResponseBufferIndex++;
}
int8_t index_of_crlf = getEndOfPacket();
if (index_of_crlf != -1)
{
_u8M9803RStatus = M9803RCore(index_of_crlf);
}
}