Fix generate tag from address (servers.c)

This commit is contained in:
Baytuch 2022-12-20 08:41:39 +02:00
commit 0b0b4fc68d

View file

@ -80,10 +80,11 @@ static char *server_create_address_tag(const char *address)
start = end = NULL; start = end = NULL;
} else if (g_ascii_strncasecmp(address, "irc", 3) == 0 || } else if (g_ascii_strncasecmp(address, "irc", 3) == 0 ||
g_ascii_strncasecmp(address, "chat", 4) == 0) { g_ascii_strncasecmp(address, "chat", 4) == 0) {
/* irc-2.cs.hut.fi -> hut, chat.bt.net -> bt */ /* irc.it-hobby.km.ua -> it-hobby, chat.bt.net -> bt */
end = strrchr(address, '.'); int offset = 3;
start = end-1; if (g_ascii_strncasecmp(address, "chat", 4) == 0) offset++;
while (start > address && *start != '.') start--; end = strchr(address + offset + 1, '.');
start = address + offset;
} else { } else {
/* efnet.cs.hut.fi -> efnet */ /* efnet.cs.hut.fi -> efnet */
end = strchr(address, '.'); end = strchr(address, '.');