summaryrefslogtreecommitdiffstats
path: root/src/util/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/util.c')
-rw-r--r--src/util/util.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/util/util.c b/src/util/util.c
index f1aaebc28..b812ef1b1 100644
--- a/src/util/util.c
+++ b/src/util/util.c
@@ -611,3 +611,26 @@ void to_sized_string(struct sized_string *out, const char *in)
}
}
+/* This function only removes first and last
+ * character if the first character was '['.
+ *
+ * NOTE: This means, that ipv6addr must NOT be followed
+ * by port number.
+ */
+errno_t
+remove_ipv6_brackets(char *ipv6addr)
+{
+ size_t len;
+
+ if (ipv6addr && ipv6addr[0] == '[') {
+ len = strlen(ipv6addr);
+ if (len < 3) {
+ return EINVAL;
+ }
+
+ memmove(ipv6addr, &ipv6addr[1], len - 2);
+ ipv6addr[len -2] = '\0';
+ }
+
+ return EOK;
+}