]> code.delx.au - pulseaudio/commitdiff
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 5b5312201485eb90048995651a9f62b50cd103c4..1cd010b72453919fb97c7a10d359f6860ac3664a 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 5fbcb9a7907136095724ebc41b9d71b8fc1f7527..0728b5eecd6e10307bdefa1c6a2f8b987b9e1441 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