fixup for Osmocom_CTRL_Functions: rate counters in bulk

At the time of writing Ief0d9b096feeee7d37b5f2429dd3e80de0161806 I wasn't aware
of the 'inout' keyword, which allows to pass the counter list by reference.

Rather modify the counter lists in-place. Instead of requiring

  list := f_counter_name_vals_add(list, ...)

rather implement by directly modifying list:

  f_counter_name_vals_add(list, ...)

Change-Id: I85ac56b042fe4bb1db392c1f451c8e900582cc2a
This commit is contained in:
Neels Hofmeyr 2020-06-30 01:27:01 +02:00
parent 22c3f79c98
commit 9656e923bf
2 changed files with 7 additions and 9 deletions

View File

@ -197,7 +197,7 @@ private function f_ctrs_msc_init(integer mscs_count := NUM_MSC, CounterNameVals
}
private function f_ctrs_msc_add(integer msc_nr, charstring countername, integer val := 1) runs on test_CT {
g_ctr_msc := f_counter_name_vals_list_add(g_ctr_msc, msc_nr, countername, val);
f_counter_name_vals_list_add(g_ctr_msc, msc_nr, countername, val);
}
/* f_ctrs_msc_init();

View File

@ -222,12 +222,12 @@ module Osmocom_CTRL_Functions {
}
/* In a list of one instance's counters, increment a specifically named counter. */
function f_counter_name_vals_add(CounterNameVals vals, charstring countername, integer val := 1)
return CounterNameVals{
function f_counter_name_vals_add(inout CounterNameVals vals, charstring countername, integer val := 1)
{
for (var integer i := 0; i < lengthof(vals); i := i + 1) {
if (vals[i].name == countername) {
vals[i].val := vals[i].val + val;
return vals;
return;
}
}
/* name not found, append */
@ -235,15 +235,13 @@ module Osmocom_CTRL_Functions {
name := countername,
val := val
}
return vals;
}
/* In a list of several instances' counters, increment a specific instance's specifically named counter. */
function f_counter_name_vals_list_add(CounterNameValsList vals, integer instance_nr,
function f_counter_name_vals_list_add(inout CounterNameValsList vals, integer instance_nr,
charstring countername, integer val := 1)
return CounterNameValsList {
vals[instance_nr] := f_counter_name_vals_add(vals[instance_nr], countername, val);
return vals;
{
f_counter_name_vals_add(vals[instance_nr], countername, val);
}
/* For a specific instance, call f_counter_name_vals_get() and compare with expected counter values.