From 49cffe7d0ca82fcce7e90d963a5b8968242267c3 Mon Sep 17 00:00:00 2001 From: richonguzman Date: Sat, 8 Jun 2024 15:50:55 -0400 Subject: [PATCH] avoid 3 bytes again --- src/aprs_is_utils.cpp | 11 +++++++++-- src/digi_utils.cpp | 7 ++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/aprs_is_utils.cpp b/src/aprs_is_utils.cpp index 885b719..33f6932 100644 --- a/src/aprs_is_utils.cpp +++ b/src/aprs_is_utils.cpp @@ -107,10 +107,14 @@ namespace APRS_IS_Utils { } String buildPacketToUpload(const String& packet) { + String payload = packet.substring(packet.indexOf(":")); + if (payload.indexOf("\x3c\xff\x01") != -1) { + payload = payload.substring(0, payload.indexOf("\x3c\xff\x01")); + } if (!(Config.aprs_is.active && Config.digi.mode == 0)) { // Check if NOT only IGate - return packet.substring(3, packet.indexOf(":")) + ",qAR," + Config.callsign + packet.substring(packet.indexOf(":")); + return packet.substring(3, packet.indexOf(":")) + ",qAR," + Config.callsign + payload; } else { - return packet.substring(3, packet.indexOf(":")) + ",qAO," + Config.callsign + packet.substring(packet.indexOf(":")); + return packet.substring(3, packet.indexOf(":")) + ",qAO," + Config.callsign + payload; } } @@ -202,6 +206,9 @@ namespace APRS_IS_Utils { Addressee = AddresseeAndMessage.substring(0, AddresseeAndMessage.indexOf(":")); Addressee.trim(); if (packet.indexOf("::") > 10 && Addressee == Config.callsign) { // its a message for me! + if (AddresseeAndMessage.indexOf("\x3c\xff\x01") != -1) { + AddresseeAndMessage = AddresseeAndMessage.substring(0, AddresseeAndMessage.indexOf("\x3c\xff\x01")); + } queryMessage = processReceivedLoRaMessage(Sender, AddresseeAndMessage); } if (!queryMessage) { diff --git a/src/digi_utils.cpp b/src/digi_utils.cpp index d3cfa72..9cfd0b5 100644 --- a/src/digi_utils.cpp +++ b/src/digi_utils.cpp @@ -43,7 +43,12 @@ namespace DIGI_Utils { repeatedPacket += temp0.substring(0, temp0.indexOf(",")); // tocall repeatedPacket += ","; repeatedPacket += path; - repeatedPacket += packet.substring(packet.indexOf(":")); + + String payload = packet.substring(packet.indexOf(":")); + if (payload.indexOf("\x3c\xff\x01") != -1) { + payload = payload.substring(0, payload.indexOf("\x3c\xff\x01")); + } + repeatedPacket += payload; return repeatedPacket; } else { return "";