parseaddr: add new call pa_is_ip_address()
authorLennart Poettering <lennart@poettering.net>
Wed, 29 Apr 2009 23:33:21 +0000 (01:33 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 29 Apr 2009 23:33:21 +0000 (01:33 +0200)
src/pulsecore/parseaddr.c
src/pulsecore/parseaddr.h

index 5b53122..1cd010b 100644 (file)
@@ -25,6 +25,7 @@
 
 #include <string.h>
 #include <stdlib.h>
+#include <arpa/inet.h>
 
 #include <pulse/xmalloc.h>
 #include <pulse/util.h>
@@ -131,3 +132,17 @@ int pa_parse_address(const char *name, pa_parsed_address *ret_p) {
 
     return 0;
 }
+
+pa_bool_t pa_is_ip_address(const char *a) {
+    char buf[INET6_ADDRSTRLEN];
+
+    pa_assert(a);
+
+    if (inet_pton(AF_INET6, a, buf) >= 1)
+        return TRUE;
+
+    if (inet_pton(AF_INET, a, buf) >= 1)
+        return TRUE;
+
+    return FALSE;
+}
index 5fbcb9a..0728b5e 100644 (file)
@@ -39,4 +39,6 @@ typedef struct pa_parsed_address {
 
 int pa_parse_address(const char *a, pa_parsed_address *ret_p);
 
+pa_bool_t pa_is_ip_address(const char *a);
+
 #endif