diff options
Diffstat (limited to 'app/src/main/java/com/clusterrr/usbserialtelnetserver/UsbSerialTelnetService.java')
-rw-r--r-- | app/src/main/java/com/clusterrr/usbserialtelnetserver/UsbSerialTelnetService.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/app/src/main/java/com/clusterrr/usbserialtelnetserver/UsbSerialTelnetService.java b/app/src/main/java/com/clusterrr/usbserialtelnetserver/UsbSerialTelnetService.java index 9daa7dd..6b9f38a 100644 --- a/app/src/main/java/com/clusterrr/usbserialtelnetserver/UsbSerialTelnetService.java +++ b/app/src/main/java/com/clusterrr/usbserialtelnetserver/UsbSerialTelnetService.java @@ -218,9 +218,13 @@ public class UsbSerialTelnetService extends Service { public void writeSerialPort(byte[] buffer, int pos, int len) throws IOException { if (mUsbSerialThread == null) return; - byte[] writeBuffer = new byte[len]; - System.arraycopy(buffer, pos, writeBuffer, 0, len); - mUsbSerialThread.write(writeBuffer); + if ((pos != 0) || (buffer.length != len)) { + byte[] writeBuffer = new byte[len]; + System.arraycopy(buffer, pos, writeBuffer, 0, len); + mUsbSerialThread.write(writeBuffer); + } else { + mUsbSerialThread.write(buffer); + } } public void writeClients(byte[] buffer) throws IOException { |