in src/main/java/com/fazecast/jSerialComm/SerialPort.java [948:966]
public final int writeBytes(byte[] buffer, int bytesToWrite, int offset)
{
// Ensure that the buffer is large enough to write the requested number of bytes
if (bytesToWrite > (buffer.length - offset))
return -2;
// Write to the serial port until all bytes have been consumed
int totalNumWritten = 0;
while ((portHandle != 0) && (totalNumWritten != bytesToWrite))
{
int numWritten = (androidPort != null) ? androidPort.writeBytes(buffer, bytesToWrite - totalNumWritten, offset + totalNumWritten, timeoutMode) :
writeBytes(portHandle, buffer, bytesToWrite - totalNumWritten, offset + totalNumWritten, timeoutMode);
if (numWritten > 0)
totalNumWritten += numWritten;
else
break;
}
return ((portHandle != 0) && (totalNumWritten >= 0)) ? totalNumWritten : -1;
}