From d8a8169eb20935b777fbaf322fa2d43e8f29d005 Mon Sep 17 00:00:00 2001 From: lizzie Date: Sat, 27 Jun 2026 08:50:24 +0200 Subject: [hle/bsd] do not use rust-result wannabe Expected in functions (#4075) rust has Result 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 Reviewed-by: crueter --- src/core/hle/service/ssl/ssl.cpp | 41 +++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 22 deletions(-) (limited to 'src/core/hle/service/ssl/ssl.cpp') diff --git a/src/core/hle/service/ssl/ssl.cpp b/src/core/hle/service/ssl/ssl.cpp index b66c686b2a..766673c653 100644 --- a/src/core/hle/service/ssl/ssl.cpp +++ b/src/core/hle/service/ssl/ssl.cpp @@ -160,29 +160,26 @@ private: auto bsd = system.ServiceManager().GetService("bsd:u"); ASSERT_OR_EXECUTE(bsd, { return ResultInternalError; }); - auto res = bsd->DuplicateSocketImpl(fd); - if (!res.has_value()) { - LOG_ERROR(Service_SSL, "Failed to duplicate socket with fd {}", fd); - return ResultInvalidSocket; - } - - const s32 duplicated_fd = *res; - - if (do_not_close_socket) { - *out_fd = duplicated_fd; - } else { - *out_fd = -1; - fd_to_close = duplicated_fd; - } - - std::optional> sock = bsd->GetSocket(duplicated_fd); - if (!sock.has_value()) { - LOG_ERROR(Service_SSL, "invalid socket fd {} after duplication", duplicated_fd); - return ResultInvalidSocket; + auto const res_v = bsd->DuplicateSocketImpl(fd); + if (auto *res = std::get_if(&res_v)) { + const s32 duplicated_fd = *res; + if (do_not_close_socket) { + *out_fd = duplicated_fd; + } else { + *out_fd = -1; + fd_to_close = duplicated_fd; + } + std::optional> sock = bsd->GetSocket(duplicated_fd); + if (!sock.has_value()) { + LOG_ERROR(Service_SSL, "invalid socket fd {} after duplication", duplicated_fd); + return ResultInvalidSocket; + } + socket = std::move(*sock); + backend->SetSocket(socket); + return ResultSuccess; } - socket = std::move(*sock); - backend->SetSocket(socket); - return ResultSuccess; + LOG_ERROR(Service_SSL, "Failed to duplicate socket with fd {}", fd); + return ResultInvalidSocket; } Result SetHostNameImpl(const std::string& hostname) { -- cgit v1.2.3