From 9d057f8c87af2df410f65e5f70f26c59b3192fcb Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Tue, 14 Jul 2020 21:36:30 -0700 Subject: Update ITS decoder --- src/main/java/org/traccar/protocol/ItsProtocolDecoder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/main/java/org/traccar/protocol') diff --git a/src/main/java/org/traccar/protocol/ItsProtocolDecoder.java b/src/main/java/org/traccar/protocol/ItsProtocolDecoder.java index 6a107d67d..1e0a4603c 100644 --- a/src/main/java/org/traccar/protocol/ItsProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/ItsProtocolDecoder.java @@ -56,7 +56,7 @@ public class ItsProtocolDecoder extends BaseProtocolDecoder { .expression("[^,]*,") // vehicle registration .number("([01]),").optional() // valid .groupEnd() - .number("(dd),?(dd),?(d{2,4}),") // date (ddmmyyyy) + .number("(dd),?(dd),?(d{2,4}),?") // date (ddmmyyyy) .number("(dd),?(dd),?(dd),") // time (hhmmss) .expression("([01AV]),").optional() // valid .number("(d+.d+),([NS]),") // latitude @@ -203,7 +203,7 @@ public class ItsProtocolDecoder extends BaseProtocolDecoder { int lac = Integer.parseInt(cells[3], 16); int cid = Integer.parseInt(cells[4], 16); Network network = new Network(CellTower.from(mcc, mnc, lac, cid, Integer.parseInt(cells[0]))); - if (!cells[5].startsWith("(")) { + if (cells.length > 5 && !cells[5].startsWith("(")) { for (int i = 0; i < 4; i++) { lac = Integer.parseInt(cells[5 + 3 * i + 1], 16); cid = Integer.parseInt(cells[5 + 3 * i + 2], 16); -- cgit v1.2.3