From 35b5138593b50eb568d1b220da285245a401c317 Mon Sep 17 00:00:00 2001 From: TheLastRar Date: Wed, 25 May 2022 08:51:36 +0100 Subject: [PATCH] DEV9: Have internal DNS use AdapterUtils --- pcsx2/DEV9/InternalServers/DNS_Server.cpp | 37 +++-------------------- 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/pcsx2/DEV9/InternalServers/DNS_Server.cpp b/pcsx2/DEV9/InternalServers/DNS_Server.cpp index 43f9dfffaf..97c3d14ce1 100644 --- a/pcsx2/DEV9/InternalServers/DNS_Server.cpp +++ b/pcsx2/DEV9/InternalServers/DNS_Server.cpp @@ -38,6 +38,7 @@ #include "DEV9/PacketReader/IP/UDP/DNS/DNS_Packet.h" #include "DEV9/DEV9.h" +#include "DEV9/AdapterUtils.h" using namespace PacketReader; using namespace PacketReader::IP; @@ -101,41 +102,13 @@ namespace InternalServers #endif { localhostIP = {127, 0, 0, 1}; + //Find IPv4 Address -#ifdef _WIN32 - PIP_ADAPTER_UNICAST_ADDRESS address = nullptr; - if (adapter != nullptr) - { - PIP_ADAPTER_ADDRESSES info = (PIP_ADAPTER_ADDRESSES)adapter; - address = info->FirstUnicastAddress; - while (address != nullptr && address->Address.lpSockaddr->sa_family != AF_INET) - address = address->Next; - } - - if (address != nullptr) - { - sockaddr_in* sockaddr = (sockaddr_in*)address->Address.lpSockaddr; - localhostIP = *(IP_Address*)&sockaddr->sin_addr; - } + std::optional adapterIP = AdapterUtils::GetAdapterIP(adapter); + if (adapterIP.has_value()) + localhostIP = adapterIP.value(); else Console.Error("DEV9: Failed To Get Adapter IP"); -#elif defined(__POSIX__) - sockaddr* address = nullptr; - if (adapter != nullptr) - { - ifaddrs* info = (ifaddrs*)adapter; - if (info->ifa_addr != nullptr && info->ifa_addr->sa_family == AF_INET) - address = info->ifa_addr; - } - - if (address != nullptr) - { - sockaddr_in* sockaddr = (sockaddr_in*)address; - localhostIP = *(IP_Address*)&sockaddr->sin_addr; - } - else - Console.Error("DEV9: Failed To Get Adapter IP"); -#endif LoadHostList(); }