From e488070587a985244a19315e2ea433c2c7f7a515 Mon Sep 17 00:00:00 2001 From: Tom Early Date: Fri, 11 Sep 2020 08:23:41 -0700 Subject: [PATCH] make CCallsign::m_sz mutable --- src/ccallsign.cpp | 13 +++++-------- src/ccallsign.h | 2 +- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/ccallsign.cpp b/src/ccallsign.cpp index 0dcb7b5..77f5a58 100644 --- a/src/ccallsign.cpp +++ b/src/ccallsign.cpp @@ -331,23 +331,20 @@ bool CCallsign::operator ==(const CCallsign &callsign) const CCallsign::operator const char *() const { - char *sz = (char *)(const char *)m_sz; - // empty - ::memset(sz, 0, sizeof(m_sz)); + ::memset(m_sz, 0, sizeof(m_sz)); // callsign - sz[CALLSIGN_LEN] = 0; - ::memcpy(sz, m_Callsign, sizeof(m_Callsign)); + ::memcpy(m_sz, m_Callsign, sizeof(m_Callsign)); // module if ( HasModule() ) { - sz[sizeof(m_Callsign)] = m_Module; + m_sz[sizeof(m_Callsign)] = m_Module; } // suffix if ( HasSuffix() ) { - ::strcat(sz, " / "); - ::strncat(sz, m_Suffix, sizeof(m_Suffix)); + ::strcat(m_sz, " / "); + ::strncat(m_sz, m_Suffix, sizeof(m_Suffix)); } // done diff --git a/src/ccallsign.h b/src/ccallsign.h index 0ee48c7..c0bc92b 100644 --- a/src/ccallsign.h +++ b/src/ccallsign.h @@ -91,7 +91,7 @@ protected: char m_Callsign[CALLSIGN_LEN]; char m_Suffix[CALLSUFFIX_LEN]; char m_Module; - char m_sz[CALLSIGN_LEN+CALLSUFFIX_LEN+5]; + mutable char m_sz[CALLSIGN_LEN+CALLSUFFIX_LEN+5]; #ifndef NO_XLX uint32 m_uiDmrid; #endif