From b8de542acd404a1e171bd17918a75cd1ed006be1 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Mon, 12 Nov 2018 13:27:49 -0500 Subject: [PATCH] add proper data copy override for the = operator to CP25Data; --- P25Data.cpp | 19 +++++++++++++++++++ P25Data.h | 2 ++ 2 files changed, 21 insertions(+) diff --git a/P25Data.cpp b/P25Data.cpp index e6378cd..7bc08cd 100644 --- a/P25Data.cpp +++ b/P25Data.cpp @@ -55,6 +55,25 @@ CP25Data::~CP25Data() delete[] m_mi; } +CP25Data& CP25Data::operator=(const CP25Data& data) +{ + if (this != &data) { + m_mfId = data.m_mfId; + + m_srcId = data.m_srcId; + m_dstId = data.m_dstId; + + m_emergency = data.m_emergency; + + m_algId = data.m_algId; + m_kId = data.m_kId; + + ::memcpy(m_mi, data.m_mi, P25_MI_LENGTH_BYTES); + } + + return *this; +} + bool CP25Data::decodeHeader(const unsigned char* data) { assert(data != NULL); diff --git a/P25Data.h b/P25Data.h index 3d312d8..999155c 100644 --- a/P25Data.h +++ b/P25Data.h @@ -27,6 +27,8 @@ class CP25Data { public: CP25Data(); ~CP25Data(); + + CP25Data& operator=(const CP25Data& data); bool decodeHeader(const unsigned char* data); void encodeHeader(unsigned char* data);