aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/sockets/sfdnsres.cpp
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-06-27 08:50:24 +0200
committercrueter <crueter@eden-emu.dev>2026-06-27 08:50:24 +0200
commitd8a8169eb20935b777fbaf322fa2d43e8f29d005 (patch)
treee55a23c5c77a2c24b31b3a64911b1b23a07b5391 /src/core/hle/service/sockets/sfdnsres.cpp
parent81c6e56713fec564b7bd6519f9f4f760d5680bac (diff)
[hle/bsd] do not use rust-result wannabe Expected in functions (#4075)
rust has Result<T,E> but we don't really need that in c++, also the header just sucks, objectively Signed-off-by: lizzie lizzie@eden-emu.dev Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4075 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: crueter <crueter@eden-emu.dev>
Diffstat (limited to 'src/core/hle/service/sockets/sfdnsres.cpp')
-rw-r--r--src/core/hle/service/sockets/sfdnsres.cpp34
1 files changed, 16 insertions, 18 deletions
diff --git a/src/core/hle/service/sockets/sfdnsres.cpp b/src/core/hle/service/sockets/sfdnsres.cpp
index 13b3754c42..9e71be3547 100644
--- a/src/core/hle/service/sockets/sfdnsres.cpp
+++ b/src/core/hle/service/sockets/sfdnsres.cpp
@@ -208,16 +208,15 @@ static std::pair<u32, GetAddrInfoError> GetHostByNameRequestImpl(HLERequestConte
return {0, GetAddrInfoError::AGAIN};
}
- auto res = Network::GetAddressInfo(host, /*service*/ std::nullopt);
- if (!res.has_value()) {
- return {0, Translate(res.error())};
+ auto res_v = Network::GetAddressInfo(host, /*service*/ std::nullopt);
+ if (auto* res = std::get_if<std::vector<Network::AddrInfo>>(&res_v)) {
+ const std::vector<u8> data = SerializeAddrInfoAsHostEnt(*res, host);
+ const u32 data_size = u32(data.size());
+ ctx.WriteBuffer(data, 0);
+ return {data_size, GetAddrInfoError::SUCCESS};
}
-
- const std::vector<u8> data = SerializeAddrInfoAsHostEnt(res.value(), host);
- const u32 data_size = static_cast<u32>(data.size());
- ctx.WriteBuffer(data, 0);
-
- return {data_size, GetAddrInfoError::SUCCESS};
+ auto* err = std::get_if<Network::GetAddrInfoError>(&res_v);
+ return {0, Translate(*err)};
}
void SFDNSRES::GetHostByNameRequest(HLERequestContext& ctx) {
@@ -333,16 +332,15 @@ static std::pair<u32, GetAddrInfoError> GetAddrInfoRequestImpl(HLERequestContext
// Serialized hints are also passed in a buffer, but are ignored for now.
- auto res = Network::GetAddressInfo(host, service);
- if (!res.has_value()) {
- return {0, Translate(res.error())};
+ auto res_v = Network::GetAddressInfo(host, service);
+ if (auto* res = std::get_if<std::vector<Network::AddrInfo>>(&res_v)) {
+ const std::vector<u8> data = SerializeAddrInfo(*res, host);
+ const u32 data_size = u32(data.size());
+ ctx.WriteBuffer(data, 0);
+ return {data_size, GetAddrInfoError::SUCCESS};
}
-
- const std::vector<u8> data = SerializeAddrInfo(res.value(), host);
- const u32 data_size = static_cast<u32>(data.size());
- ctx.WriteBuffer(data, 0);
-
- return {data_size, GetAddrInfoError::SUCCESS};
+ auto* err = std::get_if<Network::GetAddrInfoError>(&res_v);
+ return {0, Translate(*err)};
}
void SFDNSRES::GetAddrInfoRequest(HLERequestContext& ctx) {