<p>Pau Espin Pedrol has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/9200">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">tbf: Fix memset(0) on object with no trivial copy-assignment<br><br>As warned by gcc 8.1.0:<br>osmo-pcu/src/tbf.cpp: In constructor ‘gprs_rlcmac_tbf::gprs_rlcmac_tbf(BTS*, gprs_rlcmac_tbf_direction)’:<br>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]<br>  memset(&m_rlc, 0, sizeof(m_rlc));<br>                                 ^<br>In file included from osmo-pcu/src/tbf.h:24,<br>                 from osmo-pcu/src/bts.h:37,<br>                 from osmo-pcu/src/tbf.cpp:22:<br>osmo-pcu/src/rlc.h:234:8: note: ‘struct gprs_rlc’ declared here<br> struct gprs_rlc {<br>        ^~~~~~~~<br><br>Change-Id: Ifb0529b9ae6cd4300e5cbbd9151054792edbfe06<br>---<br>M src/rlc.h<br>M src/tbf.cpp<br>2 files changed, 8 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/00/9200/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/rlc.h b/src/rlc.h</span><br><span>index aac6b13..5b6a0dd 100644</span><br><span>--- a/src/rlc.h</span><br><span>+++ b/src/rlc.h</span><br><span>@@ -24,6 +24,7 @@</span><br><span> #include <osmocom/core/endian.h></span><br><span> </span><br><span> #include <stdint.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <string.h></span><br><span> </span><br><span> #define RLC_GPRS_SNS 128 /* GPRS, must be power of 2 */</span><br><span> #define RLC_GPRS_WS  64 /* max window size */</span><br><span>@@ -232,6 +233,7 @@</span><br><span>  * the routines to manipulate these arrays.</span><br><span>  */</span><br><span> struct gprs_rlc {</span><br><span style="color: hsl(120, 100%, 40%);">+  void init();</span><br><span>         gprs_rlc_data *block(int bsn);</span><br><span>       gprs_rlc_data m_blocks[RLC_MAX_SNS/2];</span><br><span> };</span><br><span>@@ -647,6 +649,11 @@</span><br><span>  return m_v_n[bsn & mod_sns_half()];</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+inline void gprs_rlc::init()</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+     memset(m_blocks, 0, sizeof(m_blocks));</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> inline gprs_rlc_data *gprs_rlc::block(int bsn)</span><br><span> {</span><br><span>   return &m_blocks[bsn & mod_sns_half()];</span><br><span>diff --git a/src/tbf.cpp b/src/tbf.cpp</span><br><span>index d5fbb3f..14c1ee2 100644</span><br><span>--- a/src/tbf.cpp</span><br><span>+++ b/src/tbf.cpp</span><br><span>@@ -219,9 +219,9 @@</span><br><span>       memset(&pdch, 0, sizeof(pdch));</span><br><span>  memset(&T, 0, sizeof(T));</span><br><span>        memset(&N, 0, sizeof(N));</span><br><span style="color: hsl(0, 100%, 40%);">-   memset(&m_rlc, 0, sizeof(m_rlc));</span><br><span>        memset(&gsm_timer, 0, sizeof(gsm_timer));</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+     m_rlc.init();</span><br><span>        m_llc.init();</span><br><span> </span><br><span>    m_name_buf[0] = '\0';</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/9200">change 9200</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/9200"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-pcu </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Ifb0529b9ae6cd4300e5cbbd9151054792edbfe06 </div>
<div style="display:none"> Gerrit-Change-Number: 9200 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Pau Espin Pedrol <pespin@sysmocom.de> </div>