aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/helper/BufferUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/traccar/helper/BufferUtil.java')
-rw-r--r--src/main/java/org/traccar/helper/BufferUtil.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/main/java/org/traccar/helper/BufferUtil.java b/src/main/java/org/traccar/helper/BufferUtil.java
index 9485c17c6..1e1a687fa 100644
--- a/src/main/java/org/traccar/helper/BufferUtil.java
+++ b/src/main/java/org/traccar/helper/BufferUtil.java
@@ -27,6 +27,18 @@ public final class BufferUtil {
private BufferUtil() {
}
+ public static int indexOf(ByteBuf buffer, int fromIndex, int toIndex, byte value, int count) {
+ int startIndex = fromIndex;
+ for (int i = 0; i < count; i++) {
+ int result = buffer.indexOf(startIndex, toIndex, value);
+ if (result < 0 || i == count - 1) {
+ return result;
+ }
+ startIndex = result + 1;
+ }
+ return -1;
+ }
+
public static int indexOf(String needle, ByteBuf haystack) {
return indexOf(needle, haystack, haystack.readerIndex(), haystack.writerIndex());
}