summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
authorAlexander Couzens <lynxis@fe80.eu>2018-06-12 18:10:30 +0200
committerAlexander Couzens <lynxis@fe80.eu>2018-06-13 15:43:24 +0200
commit2c15342ae7bf160b905afb1b284c12dd64ccd6f0 (patch)
treebfe4704a22f98c3105bd3921759ecce4cf6cef47 /library
parentcf81896465038760906345630223d5afaed83e7a (diff)
lib/BSSGP_Emulation: fix removal of items in ClientList
Previous the old entries aren't removed. This only had an impact if two different f_TC_* were using the same imsi. When the second function tried to remove the Client again from the ClientList, the BSSGP_Emulation failed. Change-Id: I71103e8f8c5f18e8ebadc057cd62d85affd7ca8c
Diffstat (limited to 'library')
-rw-r--r--library/BSSGP_Emulation.ttcn10
1 files changed, 8 insertions, 2 deletions
diff --git a/library/BSSGP_Emulation.ttcn b/library/BSSGP_Emulation.ttcn
index 38666b8..f51d539 100644
--- a/library/BSSGP_Emulation.ttcn
+++ b/library/BSSGP_Emulation.ttcn
@@ -297,12 +297,18 @@ private function f_tbl_client_del(hexstring imsi, BSSGP_Client_CT vc_conn) runs
for (i := 0; i < sizeof(ClientTable); i := i+1) {
if (isvalue(ClientTable[i].imsi) and ClientTable[i].imsi == imsi) {
if (ClientTable[i].comp_ref != vc_conn) {
- setverdict(fail, "Cannot unregister IMSI ", imsi, " registred to ",
+ setverdict(fail, "Cannot unregister index=", i, " IMSI ", imsi, " registred to ",
ClientTable[i].comp_ref, " from ", vc_conn);
self.stop;
}
log("Removing Client IMSI=", imsi, ", index=", i);
- ClientTable[i] := { -, omit, -, -, - };
+ ClientTable[i] := {
+ tlli := -,
+ tlli_old := omit,
+ imsi := ''H,
+ cell_id := -,
+ comp_ref := null,
+ llc := - };
return;
}
}