diff options
| author | lizzie <lizzie@eden-emu.dev> | 2025-07-23 10:00:29 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2025-07-23 10:00:29 +0200 |
| commit | e1763a726ed43df366a5ee65803bdacb0e5bb28e (patch) | |
| tree | 725721a2c0a0cdd67e1df2aec31edddafb57be89 /src/core | |
| parent | 23c77a0d4f884057abff59f4df4b0e9ceb508136 (diff) | |
[build, cmake] port to solaris (#96)
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/96
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/hle/service/caps/caps_manager.cpp | 7 | ||||
| -rw-r--r-- | src/core/hle/service/psc/time/common.h | 9 | ||||
| -rw-r--r-- | src/core/internal_network/network_interface.cpp | 41 |
3 files changed, 35 insertions, 22 deletions
diff --git a/src/core/hle/service/caps/caps_manager.cpp b/src/core/hle/service/caps/caps_manager.cpp index e636d90bc4..1825d345a6 100644 --- a/src/core/hle/service/caps/caps_manager.cpp +++ b/src/core/hle/service/caps/caps_manager.cpp @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later @@ -440,8 +443,8 @@ Result AlbumManager::SaveImage(ApplicationAlbumEntry& out_entry, std::span<const const auto screenshot_path = Common::FS::GetEdenPathString(Common::FS::EdenPath::ScreenshotsDir); const std::string formatted_date = - fmt::format("{:04}-{:02}-{:02}_{:02}-{:02}-{:02}-{:03}", date.year, date.month, date.day, - date.hour, date.minute, date.second, 0); + fmt::format("{:04}-{:02}-{:02}_{:02}-{:02}-{:02}-{:03}", u16(date.year), u8(date.month), u8(date.day), + u8(date.hour), u8(date.minute), u8(date.second), 0); const std::string file_path = fmt::format("{}/{:016x}_{}.png", screenshot_path, title_id, formatted_date); diff --git a/src/core/hle/service/psc/time/common.h b/src/core/hle/service/psc/time/common.h index a03322d347..954aed666a 100644 --- a/src/core/hle/service/psc/time/common.h +++ b/src/core/hle/service/psc/time/common.h @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later @@ -206,9 +209,9 @@ template <> struct fmt::formatter<Service::PSC::Time::CalendarTime> : fmt::formatter<fmt::string_view> { template <typename FormatContext> auto format(const Service::PSC::Time::CalendarTime& calendar, FormatContext& ctx) const { - return fmt::format_to(ctx.out(), "[{:02}/{:02}/{:04} {:02}:{:02}:{:02}]", calendar.day, - calendar.month, calendar.year, calendar.hour, calendar.minute, - calendar.second); + return fmt::format_to(ctx.out(), "[{:02}/{:02}/{:04} {:02}:{:02}:{:02}]", u8(calendar.day), + u8(calendar.month), u16(calendar.year), u8(calendar.hour), u8(calendar.minute), + u8(calendar.second)); } }; diff --git a/src/core/internal_network/network_interface.cpp b/src/core/internal_network/network_interface.cpp index 42def7af92..f62381b9e3 100644 --- a/src/core/internal_network/network_interface.cpp +++ b/src/core/internal_network/network_interface.cpp @@ -27,7 +27,7 @@ namespace Network { #ifdef _WIN32 -std::vector<NetworkInterface> GetAvailableNetworkInterfaces() { +std::vector<Network::NetworkInterface> GetAvailableNetworkInterfaces() { ULONG buf_size = 0; if (GetAdaptersAddresses( @@ -47,7 +47,7 @@ std::vector<NetworkInterface> GetAvailableNetworkInterfaces() { return {}; } - std::vector<NetworkInterface> result; + std::vector<Network::NetworkInterface> result; for (auto* a = addrs; a; a = a->Next) { @@ -80,7 +80,7 @@ std::vector<NetworkInterface> GetAvailableNetworkInterfaces() { break; } - result.emplace_back(NetworkInterface{ + result.emplace_back(Network::NetworkInterface{ .name = Common::UTF16ToUTF8(std::wstring{a->FriendlyName}), .ip_address = ip, .subnet_mask = mask, @@ -94,7 +94,7 @@ std::vector<NetworkInterface> GetAvailableNetworkInterfaces() { #else -std::vector<NetworkInterface> GetAvailableNetworkInterfaces() { +std::vector<Network::NetworkInterface> GetAvailableNetworkInterfaces() { struct ifaddrs* ifaddr = nullptr; if (getifaddrs(&ifaddr) != 0) { @@ -103,7 +103,7 @@ std::vector<NetworkInterface> GetAvailableNetworkInterfaces() { return {}; } - std::vector<NetworkInterface> result; + std::vector<Network::NetworkInterface> result; for (auto ifa = ifaddr; ifa != nullptr; ifa = ifa->ifa_next) { if (ifa->ifa_addr == nullptr || ifa->ifa_netmask == nullptr) { @@ -121,7 +121,7 @@ std::vector<NetworkInterface> GetAvailableNetworkInterfaces() { #ifdef ANDROID // On Android, we can't reliably get gateway info from /proc/net/route // Just use 0 as the gateway address - result.emplace_back(NetworkInterface{ + result.emplace_back(Network::NetworkInterface{ .name{ifa->ifa_name}, .ip_address{Common::BitCast<struct sockaddr_in>(*ifa->ifa_addr).sin_addr}, .subnet_mask{Common::BitCast<struct sockaddr_in>(*ifa->ifa_netmask).sin_addr}, @@ -134,11 +134,15 @@ std::vector<NetworkInterface> GetAvailableNetworkInterfaces() { if (!file.is_open()) { LOG_ERROR(Network, "Failed to open \"/proc/net/route\""); - result.emplace_back(NetworkInterface{ - .name{ifa->ifa_name}, - .ip_address{Common::BitCast<struct sockaddr_in>(*ifa->ifa_addr).sin_addr}, - .subnet_mask{Common::BitCast<struct sockaddr_in>(*ifa->ifa_netmask).sin_addr}, - .gateway{in_addr{.s_addr = gateway}}}); + // Solaris defines s_addr as a macro, can't use special C++ shenanigans here + in_addr gateway_0; + gateway_0.s_addr = gateway; + result.emplace_back(Network::NetworkInterface{ + .name = ifa->ifa_name, + .ip_address = Common::BitCast<struct sockaddr_in>(*ifa->ifa_addr).sin_addr, + .subnet_mask = Common::BitCast<struct sockaddr_in>(*ifa->ifa_netmask).sin_addr, + .gateway = gateway_0 + }); continue; } @@ -183,11 +187,14 @@ std::vector<NetworkInterface> GetAvailableNetworkInterfaces() { gateway = 0; } - result.emplace_back(NetworkInterface{ - .name{ifa->ifa_name}, - .ip_address{Common::BitCast<struct sockaddr_in>(*ifa->ifa_addr).sin_addr}, - .subnet_mask{Common::BitCast<struct sockaddr_in>(*ifa->ifa_netmask).sin_addr}, - .gateway{in_addr{.s_addr = gateway}}}); + in_addr gateway_0; + gateway_0.s_addr = gateway; + result.emplace_back(Network::NetworkInterface{ + .name = ifa->ifa_name, + .ip_address = Common::BitCast<struct sockaddr_in>(*ifa->ifa_addr).sin_addr, + .subnet_mask = Common::BitCast<struct sockaddr_in>(*ifa->ifa_netmask).sin_addr, + .gateway = gateway_0 + }); #endif // ANDROID } @@ -197,7 +204,7 @@ std::vector<NetworkInterface> GetAvailableNetworkInterfaces() { #endif // _WIN32 -std::optional<NetworkInterface> GetSelectedNetworkInterface() { +std::optional<Network::NetworkInterface> GetSelectedNetworkInterface() { const auto& selected_network_interface = Settings::values.network_interface.GetValue(); const auto network_interfaces = Network::GetAvailableNetworkInterfaces(); |
