aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar')
-rw-r--r--src/org/traccar/helper/ChannelBufferTools.java6
-rw-r--r--src/org/traccar/protocol/XexunFrameDecoder.java8
2 files changed, 9 insertions, 5 deletions
diff --git a/src/org/traccar/helper/ChannelBufferTools.java b/src/org/traccar/helper/ChannelBufferTools.java
index ef9384138..1ebe89666 100644
--- a/src/org/traccar/helper/ChannelBufferTools.java
+++ b/src/org/traccar/helper/ChannelBufferTools.java
@@ -24,7 +24,11 @@ import org.traccar.protocol.IntellitracFrameDecoder;
* ChannelBuffer helper methods
*/
public class ChannelBufferTools {
-
+
+ public static Integer find(ChannelBuffer buf, int start, String subString) {
+ return find(buf, start, buf.readerIndex() + buf.readableBytes(), subString);
+ }
+
/**
* Find string in network buffer
*/
diff --git a/src/org/traccar/protocol/XexunFrameDecoder.java b/src/org/traccar/protocol/XexunFrameDecoder.java
index 1b3446ff9..60fa02696 100644
--- a/src/org/traccar/protocol/XexunFrameDecoder.java
+++ b/src/org/traccar/protocol/XexunFrameDecoder.java
@@ -36,22 +36,22 @@ public class XexunFrameDecoder extends FrameDecoder {
}
// Find start
- Integer beginIndex = ChannelBufferTools.find(buf, 0, length, "GPRMC");
+ Integer beginIndex = ChannelBufferTools.find(buf, buf.readerIndex(), "GPRMC");
if (beginIndex == null) {
- beginIndex = ChannelBufferTools.find(buf, 0, length, "GNRMC");
+ beginIndex = ChannelBufferTools.find(buf, buf.readerIndex(), "GNRMC");
if (beginIndex == null) {
return null;
}
}
// Find identifier
- Integer idIndex = ChannelBufferTools.find(buf, beginIndex, length, "imei:");
+ Integer idIndex = ChannelBufferTools.find(buf, beginIndex, "imei:");
if (idIndex == null) {
return null;
}
// Find end
- Integer endIndex = ChannelBufferTools.find(buf, idIndex, length, ",");
+ Integer endIndex = ChannelBufferTools.find(buf, idIndex, ",");
if (endIndex == null) {
return null;
}