From 35cf087b33059a605432371a7ab0a8b6835051f6 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Thu, 15 Aug 2024 14:32:13 -0400 Subject: [PATCH] ensure redundant terminators aren't logged (rxStartTime should be zeroed after the first terminator for a call is received, all others after that shouldn't make a log entry based on zeroed rxStartTime); --- src/bridge/HostBridge.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/bridge/HostBridge.cpp b/src/bridge/HostBridge.cpp index b19daccd..2f2c6c08 100644 --- a/src/bridge/HostBridge.cpp +++ b/src/bridge/HostBridge.cpp @@ -1175,10 +1175,12 @@ void HostBridge::processDMRNetwork(uint8_t* buffer, uint32_t length) m_ignoreCall = false; m_callAlgoId = 0U; - uint64_t now = std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count(); - uint64_t diff = now - m_rxStartTime; + if (m_rxStartTime > 0U) { + uint64_t now = std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count(); + uint64_t diff = now - m_rxStartTime; - LogMessage(LOG_HOST, "DMR, call end, srcId = %u, dstId = %u, dur = %us", srcId, dstId, diff / 1000U); + LogMessage(LOG_HOST, "DMR, call end, srcId = %u, dstId = %u, dur = %us", srcId, dstId, diff / 1000U); + } m_rxDMRLC = lc::LC(); m_rxDMRPILC = lc::PrivacyLC(); @@ -1572,10 +1574,12 @@ void HostBridge::processP25Network(uint8_t* buffer, uint32_t length) m_ignoreCall = false; m_callAlgoId = ALGO_UNENCRYPT; - uint64_t now = std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count(); - uint64_t diff = now - m_rxStartTime; + if (m_rxStartTime > 0U) { + uint64_t now = std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count(); + uint64_t diff = now - m_rxStartTime; - LogMessage(LOG_HOST, "P25, call end, srcId = %u, dstId = %u, dur = %us", srcId, dstId, diff / 1000U); + LogMessage(LOG_HOST, "P25, call end, srcId = %u, dstId = %u, dur = %us", srcId, dstId, diff / 1000U); + } m_rxP25LC = lc::LC(); m_rxStartTime = 0U;