diff options
| author | lizzie <lizzie@eden-emu.dev> | 2026-06-27 08:50:24 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-06-27 08:50:24 +0200 |
| commit | d8a8169eb20935b777fbaf322fa2d43e8f29d005 (patch) | |
| tree | e55a23c5c77a2c24b31b3a64911b1b23a07b5391 /src/core/hle/service/ssl/ssl.cpp | |
| parent | 81c6e56713fec564b7bd6519f9f4f760d5680bac (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/ssl/ssl.cpp')
| -rw-r--r-- | src/core/hle/service/ssl/ssl.cpp | 41 |
1 files changed, 19 insertions, 22 deletions
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<Service::Sockets::BSD>("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<std::shared_ptr<Network::SocketBase>> 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<s32>(&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<std::shared_ptr<Network::SocketBase>> 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) { |
