add inet_ntop

This commit is contained in:
radius 2017-05-16 22:20:02 -05:00
parent a81c01729b
commit 2f1c3fb437
3 changed files with 31 additions and 1 deletions

View File

@ -238,4 +238,8 @@ bool network_init(void);
**/
void network_deinit(void);
#ifdef _WIN32
const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt);
#endif
#endif

View File

@ -354,3 +354,30 @@ int inet_ptrton(int af, const char *src, void *dst)
return inet_pton(af, src, dst);
#endif
}
#ifdef _WIN32
const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt)
{
if (af == AF_INET)
{
struct sockaddr_in in;
memset(&in, 0, sizeof(in));
in.sin_family = AF_INET;
memcpy(&in.sin_addr, src, sizeof(struct in_addr));
getnameinfo((struct sockaddr *)&in, sizeof(struct
sockaddr_in), dst, cnt, NULL, 0, NI_NUMERICHOST);
return dst;
}
else if (af == AF_INET6)
{
struct sockaddr_in6 in;
memset(&in, 0, sizeof(in));
in.sin6_family = AF_INET6;
memcpy(&in.sin6_addr, src, sizeof(struct in_addr6));
getnameinfo((struct sockaddr *)&in, sizeof(struct
sockaddr_in6), dst, cnt, NULL, 0, NI_NUMERICHOST);
return dst;
}
return NULL;
}
#endif

View File

@ -3434,7 +3434,6 @@ void netplay_refresh_rooms_menu(file_list_t *list)
}
}
static void netplay_refresh_rooms_cb(void *task_data, void *user_data, const char *err)
{
char buf[PATH_MAX_LENGTH];