diff options
Diffstat (limited to 'src/org/traccar/protocol/MegastekFrameDecoder.java')
-rw-r--r-- | src/org/traccar/protocol/MegastekFrameDecoder.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/org/traccar/protocol/MegastekFrameDecoder.java b/src/org/traccar/protocol/MegastekFrameDecoder.java index 0bdd06a79..347fa24b1 100644 --- a/src/org/traccar/protocol/MegastekFrameDecoder.java +++ b/src/org/traccar/protocol/MegastekFrameDecoder.java @@ -36,7 +36,7 @@ public class MegastekFrameDecoder extends BaseFrameDecoder { if (Character.isDigit(buf.getByte(buf.readerIndex()))) { int length = 4 + Integer.parseInt(buf.toString(buf.readerIndex(), 4, StandardCharsets.US_ASCII)); if (buf.readableBytes() >= length) { - return buf.readBytes(length); + return buf.readRetainedSlice(length); } } else { while (buf.getByte(buf.readerIndex()) == '\r' || buf.getByte(buf.readerIndex()) == '\n') { @@ -47,7 +47,7 @@ public class MegastekFrameDecoder extends BaseFrameDecoder { delimiter = buf.indexOf(buf.readerIndex(), buf.writerIndex(), (byte) '!'); } if (delimiter != -1) { - ByteBuf result = buf.readBytes(delimiter - buf.readerIndex()); + ByteBuf result = buf.readRetainedSlice(delimiter - buf.readerIndex()); buf.skipBytes(1); return result; } |