]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
fix for Windows XP inet_ntop execution - you must compile with XP for support.
authorJeff Lenk <jeff@jefflenk.com>
Wed, 5 May 2010 16:58:09 +0000 (11:58 -0500)
committerJeff Lenk <jeff@jefflenk.com>
Wed, 5 May 2010 20:15:01 +0000 (15:15 -0500)
src/switch_utils.c

index 6d58512d457c628da54f385cad766511a7172d8e..e0ecc3a7c94e0278a67774ee05d18a4ab25f4c71 100644 (file)
@@ -1331,7 +1331,7 @@ static const char *switch_inet_ntop4(const unsigned char *src, char *dst, size_t
        return strcpy(dst, tmp);
 }
 
-#if HAVE_SIN6
+#if HAVE_SIN6 || (defined(NTDDI_VERSION) && (NTDDI_VERSION < NTDDI_VISTA))
 /* const char *
  * inet_ntop6(src, dst, size)
  *     convert IPv6 binary address into presentation (printable) format
@@ -1402,7 +1402,7 @@ static const char *switch_inet_ntop6(unsigned char const *src, char *dst, size_t
                        *tp++ = ':';
                /* Is this address an encapsulated IPv4? */
                if (i == 6 && best.base == 0 && (best.len == 6 || (best.len == 5 && words[5] == 0xffff))) {
-                       if (!inet_ntop4(src + 12, tp, sizeof tmp - (tp - tmp)))
+                       if (!switch_inet_ntop4(src + 12, tp, sizeof tmp - (tp - tmp)))
                                return (NULL);
                        tp += strlen(tp);
                        break;
@@ -1488,7 +1488,11 @@ SWITCH_DECLARE(char *) get_addr6(char *buf, switch_size_t len, struct sockaddr_i
        *buf = '\0';
 
        if (sa) {
+#if defined(NTDDI_VERSION) && (NTDDI_VERSION < NTDDI_VISTA)
+                       switch_inet_ntop6((unsigned char*)sa, buf, len);
+#else
                inet_ntop(AF_INET6, sa, buf, len);
+#endif
        }
 
        return buf;