1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-19 12:39:11 +00:00

(svn r15982) -Codechange: use GetAddressAsString to get the name instead of passing the hostname and the IP into a string.

This commit is contained in:
rubidium
2009-04-08 12:52:53 +00:00
parent 9d6edae94d
commit cd8da0d69e
46 changed files with 53 additions and 54 deletions

View File

@@ -16,10 +16,7 @@ const char *NetworkAddress::GetHostname()
{
if (StrEmpty(this->hostname)) {
assert(this->address_length != 0);
char *buf = this->hostname;
if (this->address.ss_family == AF_INET6) buf = strecpy(buf, "[", lastof(this->hostname));
getnameinfo((struct sockaddr *)&this->address, this->address_length, buf, lastof(this->hostname) - buf, NULL, 0, NI_NUMERICHOST);
if (this->address.ss_family == AF_INET6) strecat(buf, "]", lastof(this->hostname));
getnameinfo((struct sockaddr *)&this->address, this->address_length, this->hostname, sizeof(this->hostname), NULL, 0, NI_NUMERICHOST);
}
return this->hostname;
}
@@ -60,6 +57,11 @@ const char *NetworkAddress::GetAddressAsString(bool with_family)
{
/* 6 = for the : and 5 for the decimal port number */
static char buf[NETWORK_HOSTNAME_LENGTH + 6 + 7];
char *p = buf;
if (this->address.ss_family == AF_INET6) p = strecpy(p, "[", lastof(buf));
p = strecpy(p, this->GetHostname(), lastof(buf));
if (this->address.ss_family == AF_INET6) p = strecpy(p, "]", lastof(buf));
p += seprintf(p, lastof(buf), ":%d", this->GetPort());
if (with_family) {
char family;
@@ -68,9 +70,7 @@ const char *NetworkAddress::GetAddressAsString(bool with_family)
case AF_INET6: family = '6'; break;
default: family = '?'; break;
}
seprintf(buf, lastof(buf), "%s:%d (IPv%c)", this->GetHostname(), this->GetPort(), family);
} else {
seprintf(buf, lastof(buf), "%s:%d", this->GetHostname(), this->GetPort());
seprintf(p, lastof(buf), " (IPv%c)", family);
}
return buf;
}

View File

@@ -352,7 +352,7 @@ public:
virtual void OnPaint()
{
const NetworkGameList *sel = this->server;
NetworkGameList *sel = this->server;
const SortButtonState arrow = this->servers.IsDescSortOrder() ? SBS_DOWN : SBS_UP;
if (this->servers.NeedRebuild()) {
@@ -453,8 +453,7 @@ public:
DrawString(x, this->widget[NGWW_DETAILS].right, y, STR_NETWORK_SERVER_VERSION, TC_GOLD); // server version
y += 10;
SetDParamStr(0, sel->info.hostname);
SetDParam(1, sel->address.GetPort());
SetDParamStr(0, sel->address.GetAddressAsString());
DrawString(x, this->widget[NGWW_DETAILS].right, y, STR_NETWORK_SERVER_ADDRESS, TC_GOLD); // server address
y += 10;