From b425250a7b7ac0db9546baee41533979d5273bc3 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 19 Jan 2021 14:26:04 -0500 Subject: [PATCH] TraversalClient: Make use of std::string_view with ConnectToClient() Same behavior, but allows the use of non-allocating string types with the interface. --- Source/Core/Common/TraversalClient.cpp | 4 ++-- Source/Core/Common/TraversalClient.h | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Source/Core/Common/TraversalClient.cpp b/Source/Core/Common/TraversalClient.cpp index 19014932a4..e34d2cbf2f 100644 --- a/Source/Core/Common/TraversalClient.cpp +++ b/Source/Core/Common/TraversalClient.cpp @@ -73,7 +73,7 @@ static ENetAddress MakeENetAddress(const TraversalInetAddress& address) return eaddr; } -void TraversalClient::ConnectToClient(const std::string& host) +void TraversalClient::ConnectToClient(std::string_view host) { if (host.size() > sizeof(TraversalHostId)) { @@ -82,7 +82,7 @@ void TraversalClient::ConnectToClient(const std::string& host) } TraversalPacket packet = {}; packet.type = TraversalPacketType::ConnectPlease; - memcpy(packet.connectPlease.hostId.data(), host.c_str(), host.size()); + memcpy(packet.connectPlease.hostId.data(), host.data(), host.size()); m_ConnectRequestId = SendTraversalPacket(packet); m_PendingConnect = true; } diff --git a/Source/Core/Common/TraversalClient.h b/Source/Core/Common/TraversalClient.h index 9d61680771..e621a8169a 100644 --- a/Source/Core/Common/TraversalClient.h +++ b/Source/Core/Common/TraversalClient.h @@ -6,6 +6,7 @@ #include #include #include +#include #include @@ -51,7 +52,7 @@ public: bool IsConnected() const { return m_State == State::Connected; } void Reset(); - void ConnectToClient(const std::string& host); + void ConnectToClient(std::string_view host); void ReconnectToServer(); void Update(); void HandleResends();