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;