<p>osmith has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/23506">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">stat_item: make next_id argument name consistent<br><br>Let osmo_stat_item_get_next, osmo_stat_item_discard,<br>osmo_stat_item_discard_all consistently refer to their next_id arg as<br>such (and not idx or next_idx). It refers to an ID (item->values[i].id),<br>not an index (item->values[i]), and it is always the next one, never the<br>current one.<br><br>Do the same change for _index/_idx variables in stats.c, which are used<br>as arguments to these functions. Replace rd_ with next_id_ in<br>stats_test.c, too.<br><br>Related: OS#5088<br>Change-Id: I5dd566b08dff7174d1790f49abd2d6ac020e120e<br>---<br>M include/osmocom/core/stat_item.h<br>M src/stat_item.c<br>M src/stats.c<br>M tests/stats/stats_test.c<br>4 files changed, 56 insertions(+), 56 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/06/23506/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/core/stat_item.h b/include/osmocom/core/stat_item.h</span><br><span>index 4710dba..4a19465 100644</span><br><span>--- a/include/osmocom/core/stat_item.h</span><br><span>+++ b/include/osmocom/core/stat_item.h</span><br><span>@@ -91,14 +91,14 @@</span><br><span> const struct osmo_stat_item *osmo_stat_item_get_by_name(</span><br><span>    const struct osmo_stat_item_group *statg, const char *name);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-int osmo_stat_item_get_next(const struct osmo_stat_item *item, int32_t *idx, int32_t *value);</span><br><span style="color: hsl(120, 100%, 40%);">+int osmo_stat_item_get_next(const struct osmo_stat_item *item, int32_t *next_id, int32_t *value);</span><br><span> </span><br><span> /*! Get the last (freshest) value */</span><br><span> static int32_t osmo_stat_item_get_last(const struct osmo_stat_item *item);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-int osmo_stat_item_discard(const struct osmo_stat_item *item, int32_t *idx);</span><br><span style="color: hsl(120, 100%, 40%);">+int osmo_stat_item_discard(const struct osmo_stat_item *item, int32_t *next_id);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-int osmo_stat_item_discard_all(int32_t *idx);</span><br><span style="color: hsl(120, 100%, 40%);">+int osmo_stat_item_discard_all(int32_t *next_id);</span><br><span> </span><br><span> typedef int (*osmo_stat_item_handler_t)(</span><br><span>     struct osmo_stat_item_group *, struct osmo_stat_item *, void *);</span><br><span>diff --git a/src/stat_item.c b/src/stat_item.c</span><br><span>index ba36464..31298fd 100644</span><br><span>--- a/src/stat_item.c</span><br><span>+++ b/src/stat_item.c</span><br><span>@@ -195,33 +195,33 @@</span><br><span> }</span><br><span> </span><br><span> /*! Retrieve the next value from the osmo_stat_item object.</span><br><span style="color: hsl(0, 100%, 40%);">- * If a new value has been set, it is returned. The idx is used to decide</span><br><span style="color: hsl(120, 100%, 40%);">+ * If a new value has been set, it is returned. The next_id is used to decide</span><br><span>  * which value to return.</span><br><span style="color: hsl(0, 100%, 40%);">- * On success, *idx is updated to refer to the next unread value. If</span><br><span style="color: hsl(0, 100%, 40%);">- * values have been missed due to FIFO overflow, *idx is incremented by</span><br><span style="color: hsl(120, 100%, 40%);">+ * On success, *next_id is updated to refer to the next unread value. If</span><br><span style="color: hsl(120, 100%, 40%);">+ * values have been missed due to FIFO overflow, *next_id is incremented by</span><br><span>  * (1 + num_lost).</span><br><span>  * This way, the osmo_stat_item object can be kept stateless from the reader's</span><br><span>  * perspective and therefore be used by several backends simultaneously.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \param val     the osmo_stat_item object</span><br><span style="color: hsl(0, 100%, 40%);">- * \param idx  identifies the next value to be read</span><br><span style="color: hsl(0, 100%, 40%);">- * \param value     a pointer to store the value</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param val     the osmo_stat_item object</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param next_id identifies the next value to be read</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param value   a pointer to store the value</span><br><span>  * \returns  the increment of the index (0: no value has been read,</span><br><span>  *           1: one value has been taken,</span><br><span>  *           (1+n): n values have been skipped, one has been taken)</span><br><span>  */</span><br><span style="color: hsl(0, 100%, 40%);">-int osmo_stat_item_get_next(const struct osmo_stat_item *item, int32_t *next_idx,</span><br><span style="color: hsl(120, 100%, 40%);">+int osmo_stat_item_get_next(const struct osmo_stat_item *item, int32_t *next_id,</span><br><span>       int32_t *value)</span><br><span> {</span><br><span>         const struct osmo_stat_item_value *next_value;</span><br><span>       const struct osmo_stat_item_value *item_value = NULL;</span><br><span style="color: hsl(0, 100%, 40%);">-   int idx_delta;</span><br><span style="color: hsl(120, 100%, 40%);">+        int id_delta;</span><br><span>        int next_offs;</span><br><span> </span><br><span>   next_offs = item->last_offs;</span><br><span>      next_value = &item->values[next_offs];</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       while (next_value->id - *next_idx >= 0 &&</span><br><span style="color: hsl(120, 100%, 40%);">+       while (next_value->id - *next_id >= 0 &&</span><br><span>               next_value->id != OSMO_STAT_ITEM_NOVALUE_ID)</span><br><span>      {</span><br><span>            item_value = next_value;</span><br><span>@@ -240,27 +240,27 @@</span><br><span> </span><br><span>         *value = item_value->value;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      idx_delta = item_value->id + 1 - *next_idx;</span><br><span style="color: hsl(120, 100%, 40%);">+        id_delta = item_value->id + 1 - *next_id;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        *next_idx = item_value->id + 1;</span><br><span style="color: hsl(120, 100%, 40%);">+    *next_id = item_value->id + 1;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   return idx_delta;</span><br><span style="color: hsl(120, 100%, 40%);">+     return id_delta;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-/*! Skip/discard all values of this item and update \a idx accordingly */</span><br><span style="color: hsl(0, 100%, 40%);">-int osmo_stat_item_discard(const struct osmo_stat_item *item, int32_t *idx)</span><br><span style="color: hsl(120, 100%, 40%);">+/*! Skip/discard all values of this item and update \a next_id accordingly */</span><br><span style="color: hsl(120, 100%, 40%);">+int osmo_stat_item_discard(const struct osmo_stat_item *item, int32_t *next_id)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-      int discarded = item->values[item->last_offs].id + 1 - *idx;</span><br><span style="color: hsl(0, 100%, 40%);">-      *idx = item->values[item->last_offs].id + 1;</span><br><span style="color: hsl(120, 100%, 40%);">+    int discarded = item->values[item->last_offs].id + 1 - *next_id;</span><br><span style="color: hsl(120, 100%, 40%);">+        *next_id = item->values[item->last_offs].id + 1;</span><br><span> </span><br><span>   return discarded;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-/*! Skip all values of all items and update \a idx accordingly */</span><br><span style="color: hsl(0, 100%, 40%);">-int osmo_stat_item_discard_all(int32_t *idx)</span><br><span style="color: hsl(120, 100%, 40%);">+/*! Skip all values of all items and update \a next_id accordingly */</span><br><span style="color: hsl(120, 100%, 40%);">+int osmo_stat_item_discard_all(int32_t *next_id)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-   int discarded = global_value_id + 1 - *idx;</span><br><span style="color: hsl(0, 100%, 40%);">-     *idx = global_value_id + 1;</span><br><span style="color: hsl(120, 100%, 40%);">+   int discarded = global_value_id + 1 - *next_id;</span><br><span style="color: hsl(120, 100%, 40%);">+       *next_id = global_value_id + 1;</span><br><span> </span><br><span>  return discarded;</span><br><span> }</span><br><span>diff --git a/src/stats.c b/src/stats.c</span><br><span>index f2820a4..88b733f 100644</span><br><span>--- a/src/stats.c</span><br><span>+++ b/src/stats.c</span><br><span>@@ -107,7 +107,7 @@</span><br><span> static LLIST_HEAD(osmo_stats_reporter_list);</span><br><span> static void *osmo_stats_ctx = NULL;</span><br><span> static int is_initialised = 0;</span><br><span style="color: hsl(0, 100%, 40%);">-static int32_t current_stat_item_index = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+static int32_t current_stat_item_next_id = 0;</span><br><span> </span><br><span> static struct osmo_stats_config s_stats_config = {</span><br><span>   .interval = STATS_DEFAULT_INTERVAL,</span><br><span>@@ -241,7 +241,7 @@</span><br><span> void osmo_stats_init(void *ctx)</span><br><span> {</span><br><span>    osmo_stats_ctx = ctx;</span><br><span style="color: hsl(0, 100%, 40%);">-   osmo_stat_item_discard_all(&current_stat_item_index);</span><br><span style="color: hsl(120, 100%, 40%);">+     osmo_stat_item_discard_all(&current_stat_item_next_id);</span><br><span> </span><br><span>      is_initialised = 1;</span><br><span>  start_timer();</span><br><span>@@ -694,18 +694,18 @@</span><br><span>       struct osmo_stat_item_group *statg, struct osmo_stat_item *item, void *sctx_)</span><br><span> {</span><br><span>   struct osmo_stats_reporter *srep;</span><br><span style="color: hsl(0, 100%, 40%);">-       int32_t idx = current_stat_item_index;</span><br><span style="color: hsl(120, 100%, 40%);">+        int32_t next_id = current_stat_item_next_id;</span><br><span>         int32_t value;</span><br><span>       int have_value;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     have_value = osmo_stat_item_get_next(item, &idx, &value) > 0;</span><br><span style="color: hsl(120, 100%, 40%);">+      have_value = osmo_stat_item_get_next(item, &next_id, &value) > 0;</span><br><span>         if (!have_value) {</span><br><span>           /* Send the last value in case a flush is requested */</span><br><span>               value = osmo_stat_item_get_last(item);</span><br><span>       } else {</span><br><span>             int32_t next_val;</span><br><span>            /* If we have multiple values only send the max */</span><br><span style="color: hsl(0, 100%, 40%);">-              while (osmo_stat_item_get_next(item, &idx, &next_val) > 0)</span><br><span style="color: hsl(120, 100%, 40%);">+         while (osmo_stat_item_get_next(item, &next_id, &next_val) > 0)</span><br><span>                    value = OSMO_MAX(value, next_val);</span><br><span>   }</span><br><span> </span><br><span>@@ -798,7 +798,7 @@</span><br><span>  osmo_stat_item_for_each_group(osmo_stat_item_group_handler, NULL);</span><br><span> </span><br><span>       /* global actions */</span><br><span style="color: hsl(0, 100%, 40%);">-    osmo_stat_item_discard_all(&current_stat_item_index);</span><br><span style="color: hsl(120, 100%, 40%);">+     osmo_stat_item_discard_all(&current_stat_item_next_id);</span><br><span>  flush_all_reporters();</span><br><span>       TRACE(LIBOSMOCORE_STATS_DONE());</span><br><span> </span><br><span>diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c</span><br><span>index 707f606..e5f7f20 100644</span><br><span>--- a/tests/stats/stats_test.c</span><br><span>+++ b/tests/stats/stats_test.c</span><br><span>@@ -90,8 +90,8 @@</span><br><span>        const struct osmo_stat_item *sitem1, *sitem2;</span><br><span>        int rc;</span><br><span>      int32_t value;</span><br><span style="color: hsl(0, 100%, 40%);">-  int32_t rd_a = 0;</span><br><span style="color: hsl(0, 100%, 40%);">-       int32_t rd_b = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+     int32_t next_id_a = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+        int32_t next_id_b = 0;</span><br><span>       int i;</span><br><span> </span><br><span>   OSMO_ASSERT(statg != NULL);</span><br><span>@@ -120,7 +120,7 @@</span><br><span>    value = osmo_stat_item_get_last(statg->items[TEST_A_ITEM]);</span><br><span>       OSMO_ASSERT(value == -1);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+    rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value);</span><br><span>      OSMO_ASSERT(rc == 0);</span><br><span> </span><br><span>    osmo_stat_item_set(statg->items[TEST_A_ITEM], 1);</span><br><span>@@ -128,39 +128,39 @@</span><br><span>         value = osmo_stat_item_get_last(statg->items[TEST_A_ITEM]);</span><br><span>       OSMO_ASSERT(value == 1);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+    rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value);</span><br><span>      OSMO_ASSERT(rc > 0);</span><br><span>      OSMO_ASSERT(value == 1);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+    rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value);</span><br><span>      OSMO_ASSERT(rc == 0);</span><br><span> </span><br><span>    for (i = 2; i <= 32; i++) {</span><br><span>               osmo_stat_item_set(statg->items[TEST_A_ITEM], i);</span><br><span>                 osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-         rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+            rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value);</span><br><span>              OSMO_ASSERT(rc > 0);</span><br><span>              OSMO_ASSERT(value == i);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-            rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &rd_b, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+            rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value);</span><br><span>              OSMO_ASSERT(rc > 0);</span><br><span>              OSMO_ASSERT(value == 1000 + i);</span><br><span>      }</span><br><span> </span><br><span>        /* check if dec & inc is working */</span><br><span>      osmo_stat_item_set(statg->items[TEST_A_ITEM], 42);</span><br><span style="color: hsl(0, 100%, 40%);">-   rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+    rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value);</span><br><span>      OSMO_ASSERT(rc > 0);</span><br><span>      OSMO_ASSERT(value == 42);</span><br><span> </span><br><span>        osmo_stat_item_dec(statg->items[TEST_A_ITEM], 21);</span><br><span style="color: hsl(0, 100%, 40%);">-   rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+    rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value);</span><br><span>      OSMO_ASSERT(rc > 0);</span><br><span>      OSMO_ASSERT(value == 21);</span><br><span> </span><br><span>        osmo_stat_item_inc(statg->items[TEST_A_ITEM], 21);</span><br><span style="color: hsl(0, 100%, 40%);">-   rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+    rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value);</span><br><span>      OSMO_ASSERT(rc > 0);</span><br><span>      OSMO_ASSERT(value == 42);</span><br><span> </span><br><span>@@ -172,20 +172,20 @@</span><br><span>                osmo_stat_item_set(statg->items[TEST_A_ITEM], i);</span><br><span>                 osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-         rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+            rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value);</span><br><span>              OSMO_ASSERT(rc > 0);</span><br><span>              OSMO_ASSERT(value == i-1);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-          rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &rd_b, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+            rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value);</span><br><span>              OSMO_ASSERT(rc > 0);</span><br><span>              OSMO_ASSERT(value == 1000 + i-1);</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+    rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value);</span><br><span>      OSMO_ASSERT(rc > 0);</span><br><span>      OSMO_ASSERT(value == 64);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &rd_b, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+    rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value);</span><br><span>      OSMO_ASSERT(rc > 0);</span><br><span>      OSMO_ASSERT(value == 1000 + 64);</span><br><span> </span><br><span>@@ -195,43 +195,43 @@</span><br><span>                 osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i);</span><br><span>  }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+    rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value);</span><br><span>      OSMO_ASSERT(rc > 0);</span><br><span>      OSMO_ASSERT(value == 93);</span><br><span> </span><br><span>        for (i = 94; i <= 96; i++) {</span><br><span style="color: hsl(0, 100%, 40%);">-         rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+            rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value);</span><br><span>              OSMO_ASSERT(rc > 0);</span><br><span>              OSMO_ASSERT(value == i);</span><br><span>     }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &rd_b, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+    rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value);</span><br><span>      OSMO_ASSERT(rc > 0);</span><br><span>      OSMO_ASSERT(value == 1000 + 90);</span><br><span> </span><br><span>         for (i = 91; i <= 96; i++) {</span><br><span style="color: hsl(0, 100%, 40%);">-         rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &rd_b, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+            rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value);</span><br><span>              OSMO_ASSERT(rc > 0);</span><br><span>              OSMO_ASSERT(value == 1000 + i);</span><br><span>      }</span><br><span> </span><br><span>        /* Test Discard (single item) */</span><br><span>     osmo_stat_item_set(statg->items[TEST_A_ITEM], 97);</span><br><span style="color: hsl(0, 100%, 40%);">-   rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &rd_a);</span><br><span style="color: hsl(120, 100%, 40%);">+ rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &next_id_a);</span><br><span>   OSMO_ASSERT(rc > 0);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &rd_a);</span><br><span style="color: hsl(120, 100%, 40%);">+ rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &next_id_a);</span><br><span>   OSMO_ASSERT(rc == 0);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+    rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value);</span><br><span>      OSMO_ASSERT(rc == 0);</span><br><span> </span><br><span>    osmo_stat_item_set(statg->items[TEST_A_ITEM], 98);</span><br><span style="color: hsl(0, 100%, 40%);">-   rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+    rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value);</span><br><span>      OSMO_ASSERT(rc > 0);</span><br><span>      OSMO_ASSERT(value == 98);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+    rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value);</span><br><span>      OSMO_ASSERT(rc == 0);</span><br><span> </span><br><span>    /* Test Discard (all items) */</span><br><span>@@ -241,12 +241,12 @@</span><br><span>       osmo_stat_item_set(statg->items[TEST_B_ITEM], 99);</span><br><span>        osmo_stat_item_set(statg->items[TEST_B_ITEM], 100);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      rc = osmo_stat_item_discard_all(&rd_a);</span><br><span style="color: hsl(0, 100%, 40%);">-     rc = osmo_stat_item_discard_all(&rd_b);</span><br><span style="color: hsl(120, 100%, 40%);">+   rc = osmo_stat_item_discard_all(&next_id_a);</span><br><span style="color: hsl(120, 100%, 40%);">+      rc = osmo_stat_item_discard_all(&next_id_b);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+    rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value);</span><br><span>      OSMO_ASSERT(rc == 0);</span><br><span style="color: hsl(0, 100%, 40%);">-   rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &rd_b, &value);</span><br><span style="color: hsl(120, 100%, 40%);">+    rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value);</span><br><span>      OSMO_ASSERT(rc == 0);</span><br><span> </span><br><span>    osmo_stat_item_group_free(statg);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/23506">change 23506</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/+/23506"/><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: I5dd566b08dff7174d1790f49abd2d6ac020e120e </div>
<div style="display:none"> Gerrit-Change-Number: 23506 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>