tbf: Fix memset(0) on object with no trivial copy-assignment
As warned by gcc 8.1.0: osmo-pcu/src/tbf.cpp: In constructor ‘gprs_rlcmac_tbf::gprs_rlcmac_tbf(BTS*, gprs_rlcmac_tbf_direction)’: osmo-pcu/src/tbf.cpp:222:33: error: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct gprs_rlc’ with no trivial copy-assignment; use assignment or value-initialization instead [-Werror=class-memaccess] memset(&m_rlc, 0, sizeof(m_rlc)); ^ In file included from osmo-pcu/src/tbf.h:24, from osmo-pcu/src/bts.h:37, from osmo-pcu/src/tbf.cpp:22: osmo-pcu/src/rlc.h:234:8: note: ‘struct gprs_rlc’ declared here struct gprs_rlc { ^~~~~~~~ Change-Id: Ifb0529b9ae6cd4300e5cbbd9151054792edbfe06
This commit is contained in:
parent
45143d270c
commit
0b0748a4be
|
@ -24,6 +24,7 @@
|
|||
#include <osmocom/core/endian.h>
|
||||
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#define RLC_GPRS_SNS 128 /* GPRS, must be power of 2 */
|
||||
#define RLC_GPRS_WS 64 /* max window size */
|
||||
|
@ -232,6 +233,7 @@ void gprs_update_punct_scheme(enum egprs_puncturing_values *punct,
|
|||
* the routines to manipulate these arrays.
|
||||
*/
|
||||
struct gprs_rlc {
|
||||
void init();
|
||||
gprs_rlc_data *block(int bsn);
|
||||
gprs_rlc_data m_blocks[RLC_MAX_SNS/2];
|
||||
};
|
||||
|
@ -647,6 +649,11 @@ inline gprs_rlc_ul_bsn_state gprs_rlc_v_n::state(int bsn) const
|
|||
return m_v_n[bsn & mod_sns_half()];
|
||||
}
|
||||
|
||||
inline void gprs_rlc::init()
|
||||
{
|
||||
memset(m_blocks, 0, sizeof(m_blocks));
|
||||
}
|
||||
|
||||
inline gprs_rlc_data *gprs_rlc::block(int bsn)
|
||||
{
|
||||
return &m_blocks[bsn & mod_sns_half()];
|
||||
|
|
|
@ -219,9 +219,9 @@ gprs_rlcmac_tbf::gprs_rlcmac_tbf(BTS *bts_, gprs_rlcmac_tbf_direction dir) :
|
|||
memset(&pdch, 0, sizeof(pdch));
|
||||
memset(&T, 0, sizeof(T));
|
||||
memset(&N, 0, sizeof(N));
|
||||
memset(&m_rlc, 0, sizeof(m_rlc));
|
||||
memset(&gsm_timer, 0, sizeof(gsm_timer));
|
||||
|
||||
m_rlc.init();
|
||||
m_llc.init();
|
||||
|
||||
m_name_buf[0] = '\0';
|
||||
|
|
Loading…
Reference in New Issue