<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/22556">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  lynxis lazus: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">ns2: Use named array initializers to avoid mistakes<br><br>It's always a bad idea to have an array of descriptions that's indexed<br>by an enum, without using named initializers.  It's too easy to get<br>inconsistencies.<br><br>Change-Id: Id0ebd2a202a465ca0298f4245f1fb5c495235fc8<br>---<br>M src/gb/gprs_ns2.c<br>M src/gb/gprs_ns2_internal.h<br>M src/gb/gprs_ns2_message.c<br>3 files changed, 27 insertions(+), 30 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c</span><br><span>index be35513..6be16a2 100644</span><br><span>--- a/src/gb/gprs_ns2.c</span><br><span>+++ b/src/gb/gprs_ns2.c</span><br><span>@@ -160,18 +160,18 @@</span><br><span> };</span><br><span> </span><br><span> static const struct rate_ctr_desc nsvc_ctr_description[] = {</span><br><span style="color: hsl(0, 100%, 40%);">-   { "packets:in", "Packets at NS Level  ( In)" },</span><br><span style="color: hsl(0, 100%, 40%);">-     { "packets:out","Packets at NS Level  (Out)" },</span><br><span style="color: hsl(0, 100%, 40%);">-     { "bytes:in", "Bytes at NS Level    ( In)" },</span><br><span style="color: hsl(0, 100%, 40%);">-       { "bytes:out",        "Bytes at NS Level    (Out)" },</span><br><span style="color: hsl(0, 100%, 40%);">-       { "blocked",  "NS-VC Block count         " },</span><br><span style="color: hsl(0, 100%, 40%);">-       { "dead",     "NS-VC gone dead count     " },</span><br><span style="color: hsl(0, 100%, 40%);">-       { "replaced", "NS-VC replaced other count" },</span><br><span style="color: hsl(0, 100%, 40%);">-       { "nsei-chg", "NS-VC changed NSEI count  " },</span><br><span style="color: hsl(0, 100%, 40%);">-       { "inv-nsvci",        "NS-VCI was invalid count  " },</span><br><span style="color: hsl(0, 100%, 40%);">-       { "inv-nsei", "NSEI was invalid count    " },</span><br><span style="color: hsl(0, 100%, 40%);">-       { "lost:alive",       "ALIVE ACK missing count   " },</span><br><span style="color: hsl(0, 100%, 40%);">-       { "lost:reset",       "RESET ACK missing count   " },</span><br><span style="color: hsl(120, 100%, 40%);">+     [NS_CTR_PKTS_IN]        = { "packets:in",     "Packets at NS Level  ( In)" },</span><br><span style="color: hsl(120, 100%, 40%);">+     [NS_CTR_PKTS_OUT]       = { "packets:out",    "Packets at NS Level  (Out)" },</span><br><span style="color: hsl(120, 100%, 40%);">+     [NS_CTR_BYTES_IN]       = { "bytes:in",               "Bytes at NS Level    ( In)" },</span><br><span style="color: hsl(120, 100%, 40%);">+     [NS_CTR_BYTES_OUT]      = { "bytes:out",      "Bytes at NS Level    (Out)" },</span><br><span style="color: hsl(120, 100%, 40%);">+     [NS_CTR_BLOCKED]        = { "blocked",                "NS-VC Block count         " },</span><br><span style="color: hsl(120, 100%, 40%);">+     [NS_CTR_DEAD]           = { "dead",           "NS-VC gone dead count     " },</span><br><span style="color: hsl(120, 100%, 40%);">+     [NS_CTR_REPLACED]       = { "replaced",               "NS-VC replaced other count" },</span><br><span style="color: hsl(120, 100%, 40%);">+     [NS_CTR_NSEI_CHG]       = { "nsei-chg",               "NS-VC changed NSEI count  " },</span><br><span style="color: hsl(120, 100%, 40%);">+     [NS_CTR_INV_VCI]        = { "inv-nsvci",      "NS-VCI was invalid count  " },</span><br><span style="color: hsl(120, 100%, 40%);">+     [NS_CTR_INV_NSEI]       = { "inv-nsei",               "NSEI was invalid count    " },</span><br><span style="color: hsl(120, 100%, 40%);">+     [NS_CTR_LOST_ALIVE]     = { "lost:alive",     "ALIVE ACK missing count   " },</span><br><span style="color: hsl(120, 100%, 40%);">+     [NS_CTR_LOST_RESET]     = { "lost:reset",     "RESET ACK missing count   " },</span><br><span> };</span><br><span> </span><br><span> static const struct rate_ctr_group_desc nsvc_ctrg_desc = {</span><br><span>@@ -184,7 +184,7 @@</span><br><span> </span><br><span> </span><br><span> static const struct osmo_stat_item_desc nsvc_stat_description[] = {</span><br><span style="color: hsl(0, 100%, 40%);">-  { "alive.delay", "ALIVE response time        ", "ms", 16, 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+  [NS_STAT_ALIVE_DELAY] = { "alive.delay", "ALIVE response time        ", "ms", 16, 0 },</span><br><span> };</span><br><span> </span><br><span> static const struct osmo_stat_item_group_desc nsvc_statg_desc = {</span><br><span>diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h</span><br><span>index 0574cb2..68f28db 100644</span><br><span>--- a/src/gb/gprs_ns2_internal.h</span><br><span>+++ b/src/gb/gprs_ns2_internal.h</span><br><span>@@ -85,6 +85,20 @@</span><br><span>        NS2_CS_ERROR,       /*!< Failed to process message */</span><br><span> };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+enum ns_ctr {</span><br><span style="color: hsl(120, 100%, 40%);">+     NS_CTR_PKTS_IN,</span><br><span style="color: hsl(120, 100%, 40%);">+       NS_CTR_PKTS_OUT,</span><br><span style="color: hsl(120, 100%, 40%);">+      NS_CTR_BYTES_IN,</span><br><span style="color: hsl(120, 100%, 40%);">+      NS_CTR_BYTES_OUT,</span><br><span style="color: hsl(120, 100%, 40%);">+     NS_CTR_BLOCKED,</span><br><span style="color: hsl(120, 100%, 40%);">+       NS_CTR_DEAD,</span><br><span style="color: hsl(120, 100%, 40%);">+  NS_CTR_REPLACED,</span><br><span style="color: hsl(120, 100%, 40%);">+      NS_CTR_NSEI_CHG,</span><br><span style="color: hsl(120, 100%, 40%);">+      NS_CTR_INV_VCI,</span><br><span style="color: hsl(120, 100%, 40%);">+       NS_CTR_INV_NSEI,</span><br><span style="color: hsl(120, 100%, 40%);">+      NS_CTR_LOST_ALIVE,</span><br><span style="color: hsl(120, 100%, 40%);">+    NS_CTR_LOST_RESET,</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span> </span><br><span> #define NSE_S_BLOCKED     0x0001</span><br><span> #define NSE_S_ALIVE   0x0002</span><br><span>diff --git a/src/gb/gprs_ns2_message.c b/src/gb/gprs_ns2_message.c</span><br><span>index c525dd7..67ee254 100644</span><br><span>--- a/src/gb/gprs_ns2_message.c</span><br><span>+++ b/src/gb/gprs_ns2_message.c</span><br><span>@@ -46,23 +46,6 @@</span><br><span>                 LOGNSVC(nsvc, LOGL_DEBUG, "invalid packet %s with SNS\n", reason);    \</span><br><span>    } while (0)</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-enum ns_ctr {</span><br><span style="color: hsl(0, 100%, 40%);">-    NS_CTR_PKTS_IN,</span><br><span style="color: hsl(0, 100%, 40%);">- NS_CTR_PKTS_OUT,</span><br><span style="color: hsl(0, 100%, 40%);">-        NS_CTR_BYTES_IN,</span><br><span style="color: hsl(0, 100%, 40%);">-        NS_CTR_BYTES_OUT,</span><br><span style="color: hsl(0, 100%, 40%);">-       NS_CTR_BLOCKED,</span><br><span style="color: hsl(0, 100%, 40%);">- NS_CTR_DEAD,</span><br><span style="color: hsl(0, 100%, 40%);">-    NS_CTR_REPLACED,</span><br><span style="color: hsl(0, 100%, 40%);">-        NS_CTR_NSEI_CHG,</span><br><span style="color: hsl(0, 100%, 40%);">-        NS_CTR_INV_VCI,</span><br><span style="color: hsl(0, 100%, 40%);">- NS_CTR_INV_NSEI,</span><br><span style="color: hsl(0, 100%, 40%);">-        NS_CTR_LOST_ALIVE,</span><br><span style="color: hsl(0, 100%, 40%);">-      NS_CTR_LOST_RESET,</span><br><span style="color: hsl(0, 100%, 40%);">-};</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> static int ns2_validate_reset(struct gprs_ns2_vc *nsvc, struct msgb *msg, struct tlv_parsed *tp, uint8_t *cause)</span><br><span> {</span><br><span>        if (!TLVP_PRES_LEN(tp, NS_IE_CAUSE, 1) ||</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/22556">change 22556</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/c/libosmocore/+/22556"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Id0ebd2a202a465ca0298f4245f1fb5c495235fc8 </div>
<div style="display:none"> Gerrit-Change-Number: 22556 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: daniel <dwillmann@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: lynxis lazus <lynxis@fe80.eu> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>