diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2020-06-30 01:27:01 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2020-06-30 04:24:59 +0200 |
commit | 9656e923bf0353bc44ce0f7dcadfe81b381458a3 (patch) | |
tree | 8fa8c031d16212000cba39fab592eb3f7b0654a7 | |
parent | 22c3f79c9891ecd861a4045a6376cd0dcbb8b781 (diff) |
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
-rw-r--r-- | bsc/BSC_Tests.ttcn | 2 | ||||
-rw-r--r-- | library/Osmocom_CTRL_Functions.ttcn | 14 |
2 files changed, 7 insertions, 9 deletions
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index facb001b..f25c75d1 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -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(); diff --git a/library/Osmocom_CTRL_Functions.ttcn b/library/Osmocom_CTRL_Functions.ttcn index ee7025c9..60c66c0e 100644 --- a/library/Osmocom_CTRL_Functions.ttcn +++ b/library/Osmocom_CTRL_Functions.ttcn @@ -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. |