From ec07f5a5ecb6eff976d3bb34ad878672407bb02f Mon Sep 17 00:00:00 2001 From: bubblegg <86165363+bubblegg@users.noreply.github.com> Date: Mon, 12 Oct 2026 19:21:33 +0000 Subject: [PATCH] fix(libSceNetCtl): keep the Linux interface counters to Linux Co-Authored-By: Claude Opus 5.5 --- core/libs/prx/libSceNetCtl/Export.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/libs/prx/libSceNetCtl/Export.cpp b/core/libs/prx/libSceNetCtl/Export.cpp index 8962e4f6f..592ab29a8 100644 --- a/core/libs/prx/libSceNetCtl/Export.cpp +++ b/core/libs/prx/libSceNetCtl/Export.cpp @@ -5,11 +5,13 @@ #include #else #include -#include #include #include +#ifdef __linux__ +#include #include #endif +#endif #include #include #include "SceTypes.hpp" @@ -94,7 +96,7 @@ static void HostTraffic(std::uint64_t& sent, std::uint64_t& received) { received += row.InOctets; } FreeMibTable(table); -#else +#elif defined(__linux__) ifaddrs* interfaces = nullptr; if (getifaddrs(&interfaces) != 0) throw std::runtime_error("sceNetCtlGetIfStat: the host interface list is unavailable"); for (auto* item = interfaces; item; item = item->ifa_next) { @@ -105,6 +107,8 @@ static void HostTraffic(std::uint64_t& sent, std::uint64_t& received) { received += stats->rx_bytes; } freeifaddrs(interfaces); +#else + throw std::runtime_error("sceNetCtlGetIfStat: host interface byte counters are not implemented on this platform"); #endif }