Move f_hex_is_odd_length from BSSMAP_Templates to GSM_Types
It's a quite frequent requirement in encoding IMSI/BCD numbers, so
let's move it to the more generic GSM_Types module.
Change-Id: I6fb8d9a6f37c990f6901fb48b15312a157954fda
diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn
index cd94ad1..77ff7e4 100644
--- a/library/BSSMAP_Templates.ttcn
+++ b/library/BSSMAP_Templates.ttcn
@@ -644,14 +644,6 @@
}
-function f_hex_is_odd_length(hexstring digits) return bitstring {
- if (lengthof(digits) rem 2 == 1) {
- return '1'B;
- } else {
- return '0'B;
- }
-}
-
template BSSMAP_IE_IMSI ts_BSSMAP_Imsi(hexstring imsi_digits) := {
elementIdentifier := '08'O,
lengthIndicator := 0, /* overwritten */
diff --git a/library/GSM_Types.ttcn b/library/GSM_Types.ttcn
index e1d6b48..e57575d 100644
--- a/library/GSM_Types.ttcn
+++ b/library/GSM_Types.ttcn
@@ -160,4 +160,12 @@
sapi := sapi
};
+ function f_hex_is_odd_length(hexstring digits) return bitstring {
+ if (lengthof(digits) rem 2 == 1) {
+ return '1'B;
+ } else {
+ return '0'B;
+ }
+ }
+
} with { encode "RAW"; variant "FIELDORDER(msb)" }