summaryrefslogtreecommitdiffstats
path: root/lib/sockunion.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sockunion.c')
-rw-r--r--lib/sockunion.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/sockunion.c b/lib/sockunion.c
index 37dc3f90..5dcf7256 100644
--- a/lib/sockunion.c
+++ b/lib/sockunion.c
@@ -174,6 +174,18 @@ sockunion2str (union sockunion *su, char *buf, size_t len)
return NULL;
}
+union sockunion *
+sockunion_str2su (const char *str)
+{
+ union sockunion *su = XCALLOC (MTYPE_SOCKUNION, sizeof (union sockunion));
+
+ if (!str2sockunion (str, su))
+ return su;
+
+ XFREE (MTYPE_SOCKUNION, su);
+ return NULL;
+}
+
/* Convert IPv4 compatible IPv6 address to IPv4 address. */
static void
sockunion_normalise_mapped (union sockunion *su)