diff options
Diffstat (limited to 'lib/getaddrinfo.c')
-rw-r--r-- | lib/getaddrinfo.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/lib/getaddrinfo.c b/lib/getaddrinfo.c index 2cba44387..e6bad1103 100644 --- a/lib/getaddrinfo.c +++ b/lib/getaddrinfo.c @@ -38,6 +38,8 @@ #define _(String) gettext (String) #define N_(String) String +#include "inet_ntop.h" +#include "snprintf.h" #include "strdup.h" #if defined _WIN32 || defined __WIN32__ @@ -45,11 +47,11 @@ #endif #ifdef WIN32_NATIVE -typedef int WSAAPI (*getaddrinfo_func) (const char*, const char*, +typedef int (WSAAPI *getaddrinfo_func) (const char*, const char*, const struct addrinfo*, struct addrinfo**); -typedef void WSAAPI (*freeaddrinfo_func) (struct addrinfo*); -typedef int WSAAPI (*getnameinfo_func) (const struct sockaddr*, +typedef void (WSAAPI *freeaddrinfo_func) (struct addrinfo*); +typedef int (WSAAPI *getnameinfo_func) (const struct sockaddr*, socklen_t, char*, DWORD, char*, DWORD, int); @@ -72,9 +74,9 @@ use_win32_p (void) if (h) { - getaddrinfo_ptr = GetProcAddress (h, "getaddrinfo"); - freeaddrinfo_ptr = GetProcAddress (h, "freeaddrinfo"); - getnameinfo_ptr = GetProcAddress (h, "getnameinfo"); + getaddrinfo_ptr = (getaddrinfo_func) GetProcAddress (h, "getaddrinfo"); + freeaddrinfo_ptr = (freeaddrinfo_func) GetProcAddress (h, "freeaddrinfo"); + getnameinfo_ptr = (getnameinfo_func) GetProcAddress (h, "getnameinfo"); } /* If either is missing, something is odd. */ @@ -294,7 +296,10 @@ freeaddrinfo (struct addrinfo *ai) { #ifdef WIN32_NATIVE if (use_win32_p ()) - return freeaddrinfo_ptr (ai); + { + freeaddrinfo_ptr (ai); + return; + } #endif while (ai) @@ -314,7 +319,7 @@ int getnameinfo(const struct sockaddr *restrict sa, socklen_t salen, char *restrict service, socklen_t servicelen, int flags) { -#if WIN32_NATIVE +#ifdef WIN32_NATIVE if (use_win32_p ()) return getnameinfo_ptr (sa, salen, node, nodelen, service, servicelen, flags); |