From ea0202a39d3e80ed89a32d12c9f32e67cc32e191 Mon Sep 17 00:00:00 2001 From: radius Date: Mon, 15 May 2017 23:01:35 -0500 Subject: [PATCH] LAN rooms work on android although it seems to be always using IPv6 now --- menu/cbs/menu_cbs_ok.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 95ec1e6000..72d301aa85 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -3510,10 +3510,19 @@ finish: sizeof(netplay_room_list[i].nickname)); address = &host->addr; + if (address->sa_family == AF_INET) + { + struct sockaddr_in *sin = (struct sockaddr_in *) address; + inet_ntop(AF_INET, &sin->sin_addr, + netplay_room_list[i].address, INET6_ADDRSTRLEN); + } + else if (address->sa_family == AF_INET6) + { + struct sockaddr_in6 *sin = (struct sockaddr_in6 *) address; + inet_ntop(AF_INET6, &sin->sin6_addr, + netplay_room_list[i].address, INET6_ADDRSTRLEN); + } - strlcpy(netplay_room_list[i].address, - inet_ntoa(((struct sockaddr_in*)(address))->sin_addr), - sizeof(netplay_room_list[i].address)); strlcpy(netplay_room_list[i].corename, host->core, sizeof(netplay_room_list[i].corename));