]> git.puffer.fish Git - matthieu/frr.git/commitdiff
lib: Add back sockunion_str2su
authorPaul Jakma <paul@quagga.net>
Thu, 14 Jun 2012 09:37:40 +0000 (10:37 +0100)
committerPaul Jakma <paul@quagga.net>
Thu, 14 Jun 2012 09:37:40 +0000 (10:37 +0100)
* sockunion.h: Add back sockunion_str2su, its removal breaks things needlessly
  (e.g. our own unit tests).
* sockunion.c: (sockunion_str2su) implement on top of str2sockunion.

lib/sockunion.c
lib/sockunion.h

index 37dc3f90b0871a108721fa2ed9b6844e1ca0f7f1..5dcf72563a18799073658523e6adf065569cb952 100644 (file)
@@ -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)
index 1a0a3c95c2b8aa758038dd78441dd4cbb6de38de..b9f3514246aa76d2282680d58e8c556f5f21906e 100644 (file)
@@ -88,6 +88,7 @@ extern const char *sockunion2str (union sockunion *, char *, size_t);
 extern int sockunion_cmp (union sockunion *, union sockunion *);
 extern int sockunion_same (union sockunion *, union sockunion *);
 
+extern union sockunion *sockunion_str2su (const char *str);
 extern int sockunion_accept (int sock, union sockunion *);
 extern int sockunion_stream_socket (union sockunion *);
 extern int sockopt_reuseaddr (int);