From 2b83ef0518a8ca8c975733e1c4887e0c75a5fd92 Mon Sep 17 00:00:00 2001 From: Andy Taylor Date: Sun, 3 May 2020 12:02:10 +0100 Subject: [PATCH] Update YSFGateway.cpp Improve support for 5 digit FCS --- YSFGateway/YSFGateway.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/YSFGateway/YSFGateway.cpp b/YSFGateway/YSFGateway.cpp index bb27e55..76c521a 100644 --- a/YSFGateway/YSFGateway.cpp +++ b/YSFGateway/YSFGateway.cpp @@ -670,10 +670,13 @@ void CYSFGateway::processDTMF(unsigned char* buffer, unsigned char dt) case WXS_CONNECT_FCS: { std::string raw = m_dtmf.getReflector(); std::string id = "FCS00"; + std::string idShort = "FCS"; if (raw.length() == 2U) { id += raw.at(0U) + std::string("0") + raw.at(1U); } else if (raw.length() == 3U) { id += raw; + } else if (raw.length() == 5U) { + idShort += raw; } else { LogWarning("Nonsense from the DTMF decoder - \"%s\"", raw.c_str()); return; @@ -900,8 +903,11 @@ void CYSFGateway::processRemoteCommands() } else if (::memcmp(buffer + 0U, "LinkFCS", 7U) == 0) { std::string raw = std::string((char*)(buffer + 7U)); std::string id = "FCS00"; + std::string idShort = "FCS"; if (raw.length() == 3U) { id += raw; + if (raw.length() == 5U) { + idShort += raw; } else { LogWarning("Invalid FCS reflector id - \"%s\"", raw.c_str()); return;