library/DNS_Helpers: add f_enc_IPv4
Used by upcoming D-GSM test, to pass the IP of the emulated GSUP server.
The code is based on f_enc_dns_hostname() in the same file.
Related: OS#4380
Change-Id: I8a5450988711680c93cfd657a34db759a56bc41e
diff --git a/library/DNS_Helpers.ttcn b/library/DNS_Helpers.ttcn
index 122adff..85040fc 100644
--- a/library/DNS_Helpers.ttcn
+++ b/library/DNS_Helpers.ttcn
@@ -70,4 +70,27 @@
}
+function f_enc_IPv4(charstring str) return octetstring {
+ var octetstring ret := ''O;
+
+ while (lengthof(str) > 0) {
+ var integer dot_idx;
+ var charstring num;
+
+ dot_idx := f_strchr(str, ".");
+ if (dot_idx >= 0) {
+ /* there is another dot */
+ num := substr(str, 0, dot_idx);
+ str := substr(str, dot_idx+1, lengthof(str)-dot_idx-1);
+ } else {
+ /* no more dot */
+ num := str;
+ str := "";
+ }
+ ret := ret & int2oct(str2int(num), 1);
+ }
+
+ return ret;
+}
+
}