diff options
author | rubidium42 <rubidium@openttd.org> | 2021-06-13 21:05:15 +0200 |
---|---|---|
committer | rubidium42 <rubidium42@users.noreply.github.com> | 2021-06-15 06:13:00 +0200 |
commit | 667301e3ecc39ecd6bce286fafe25247d774642f (patch) | |
tree | 1ce0a0f24272e5ac8ff7cf0ce58b4d0c07e18034 /src/network/core | |
parent | a91e29b656d91b1f1c6a906ee8e81ddd716723aa (diff) | |
download | openttd-667301e3ecc39ecd6bce286fafe25247d774642f.tar.xz |
Codechange: [Network] Make hostname/client IP return strings instead of a C-string
Diffstat (limited to 'src/network/core')
-rw-r--r-- | src/network/core/address.cpp | 4 | ||||
-rw-r--r-- | src/network/core/address.h | 2 | ||||
-rw-r--r-- | src/network/core/tcp_connect.cpp | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/src/network/core/address.cpp b/src/network/core/address.cpp index ba9ae69fc..0c16a2c3c 100644 --- a/src/network/core/address.cpp +++ b/src/network/core/address.cpp @@ -19,7 +19,7 @@ * IPv4 dotted representation is given. * @return the hostname */ -const char *NetworkAddress::GetHostname() +const std::string &NetworkAddress::GetHostname() { if (this->hostname.empty() && this->address.ss_family != AF_UNSPEC) { assert(this->address_length != 0); @@ -27,7 +27,7 @@ const char *NetworkAddress::GetHostname() getnameinfo((struct sockaddr *)&this->address, this->address_length, buffer, sizeof(buffer), nullptr, 0, NI_NUMERICHOST); this->hostname = buffer; } - return this->hostname.c_str(); + return this->hostname; } /** diff --git a/src/network/core/address.h b/src/network/core/address.h index 46d0acef1..af10a2756 100644 --- a/src/network/core/address.h +++ b/src/network/core/address.h @@ -88,7 +88,7 @@ public: this->SetPort(port); } - const char *GetHostname(); + const std::string &GetHostname(); std::string GetAddressAsString(bool with_family = true); const sockaddr_storage *GetAddress(); diff --git a/src/network/core/tcp_connect.cpp b/src/network/core/tcp_connect.cpp index 5538416f6..f251f0288 100644 --- a/src/network/core/tcp_connect.cpp +++ b/src/network/core/tcp_connect.cpp @@ -183,7 +183,7 @@ void TCPConnecter::Resolve() auto start = std::chrono::steady_clock::now(); addrinfo *ai; - int error = getaddrinfo(address.GetHostname(), port_name, &hints, &ai); + int error = getaddrinfo(address.GetHostname().c_str(), port_name, &hints, &ai); auto end = std::chrono::steady_clock::now(); auto duration = std::chrono::duration_cast<std::chrono::seconds>(end - start); |