From 54ae27d63b08eb2f76234972f9f8322de8c06ea5 Mon Sep 17 00:00:00 2001 From: narspt Date: Mon, 29 Nov 2021 01:43:34 +0000 Subject: [PATCH 1/2] fix wiresx cmd passthrough happening even disabled --- YSFGateway/YSFGateway.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/YSFGateway/YSFGateway.cpp b/YSFGateway/YSFGateway.cpp index 181a26a..9c809ec 100644 --- a/YSFGateway/YSFGateway.cpp +++ b/YSFGateway/YSFGateway.cpp @@ -281,10 +281,12 @@ int CYSFGateway::run() CYSFReflector* reflector = m_wiresX->getReflector(); if (m_ysfNetwork != NULL && m_linkType == LINK_YSF && wiresXCommandPassthrough && reflector->m_wiresX) { processDTMF(buffer, dt); - m_exclude = processWiresX(buffer, fich, true, wiresXCommandPassthrough); + processWiresX(buffer, fich, true, wiresXCommandPassthrough); } else { + if (m_ysfNetwork != NULL && m_linkType == LINK_YSF && reflector->m_wiresX) + m_exclude = (dt == YSF_DT_DATA_FR_MODE); processDTMF(buffer, dt); - m_exclude = processWiresX(buffer, fich, false, wiresXCommandPassthrough); + processWiresX(buffer, fich, false, wiresXCommandPassthrough); } if (m_gps != NULL) @@ -530,10 +532,8 @@ void CYSFGateway::createWiresX(CYSFNetwork* rptNetwork) m_wiresX->start(); } -bool CYSFGateway::processWiresX(const unsigned char* buffer, const CYSFFICH& fich, bool dontProcessWiresXLocal, bool wiresXCommandPassthrough) +void CYSFGateway::processWiresX(const unsigned char* buffer, const CYSFFICH& fich, bool dontProcessWiresXLocal, bool wiresXCommandPassthrough) { - bool ret=true; - assert(buffer != NULL); WX_STATUS status = m_wiresX->process(buffer + 35U, buffer + 14U, fich, dontProcessWiresXLocal); @@ -624,10 +624,8 @@ bool CYSFGateway::processWiresX(const unsigned char* buffer, const CYSFFICH& fic } break; default: - ret = false; break; } - return ret; } void CYSFGateway::processDTMF(unsigned char* buffer, unsigned char dt) From 301e030b4d6faf4e0eaecd430779cbca4c200eed Mon Sep 17 00:00:00 2001 From: narspt Date: Mon, 29 Nov 2021 01:47:21 +0000 Subject: [PATCH 2/2] update processWiresX return type definition --- YSFGateway/YSFGateway.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/YSFGateway/YSFGateway.h b/YSFGateway/YSFGateway.h index 069a95c..61a11f9 100644 --- a/YSFGateway/YSFGateway.h +++ b/YSFGateway/YSFGateway.h @@ -69,7 +69,7 @@ private: void startupLinking(); std::string calculateLocator(); - bool processWiresX(const unsigned char* buffer, const CYSFFICH& fich, bool dontProcessWiresXLocal, bool wiresXCommandPassthrough); + void processWiresX(const unsigned char* buffer, const CYSFFICH& fich, bool dontProcessWiresXLocal, bool wiresXCommandPassthrough); void processDTMF(unsigned char* buffer, unsigned char dt); void createWiresX(CYSFNetwork* rptNetwork); void createGPS();