From 1b7abded6749e9579ffb7bf901cb61190b5e9585 Mon Sep 17 00:00:00 2001 From: Shawn Chain Date: Tue, 3 Jul 2018 11:35:55 +0800 Subject: [PATCH] FIX DMRNewtork infinite failure on domain name resolve --- DMRNetwork.cpp | 6 +++++- DMRNetwork.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/DMRNetwork.cpp b/DMRNetwork.cpp index ede4a5a..e3337d1 100644 --- a/DMRNetwork.cpp +++ b/DMRNetwork.cpp @@ -34,6 +34,7 @@ const unsigned int HOMEBREW_DATA_PACKET_LENGTH = 55U; CDMRNetwork::CDMRNetwork(const std::string& address, unsigned int port, unsigned int local, unsigned int id, const std::string& password, bool duplex, const char* version, bool debug, bool slot1, bool slot2, HW_TYPE hwType) : +m_addressStr(address), m_address(), m_port(port), m_id(NULL), @@ -122,7 +123,10 @@ void CDMRNetwork::setConfig(const std::string& callsign, unsigned int rxFrequenc bool CDMRNetwork::open() { LogMessage("DMR, Opening DMR Network"); - + if (m_address.s_addr == INADDR_NONE) + { + m_address = CUDPSocket::lookup(m_addressStr); + } m_status = WAITING_CONNECT; m_timeoutTimer.stop(); m_retryTimer.start(); diff --git a/DMRNetwork.h b/DMRNetwork.h index d1d12e4..9dbb812 100644 --- a/DMRNetwork.h +++ b/DMRNetwork.h @@ -57,6 +57,7 @@ public: void close(); private: + std::string m_addressStr; in_addr m_address; unsigned int m_port; uint8_t* m_id;