- else if (sa.sa_family == AF_INET6)
- {
- if (!memcmp(all_zero, &in6.sin6_addr, 16))
- {
- sprintf(buffer, "*:%u", ntohs(in6.sin6_port));
- }
- else
- {
- buffer[0] = '[';
- if (!inet_ntop(AF_INET6, &in6.sin6_addr, buffer+1, MAXBUF - 10))
- return "<unknown>"; // should never happen, buffer is large enough
- int len = strlen(buffer);
- // no need for snprintf, buffer has at least 9 chars left, max short len = 5
- sprintf(buffer + len, "]:%u", ntohs(in6.sin6_port));
- }
- }
- else
- return "<unknown>";
- return std::string(buffer);
+
+ // If we have reached this point then we have encountered a bug.
+ ServerInstance->Logs->Log("SOCKET", LOG_DEBUG, "BUG: irc::sockets::sockaddrs::str(): socket type %d is unknown!", family());
+ return "<unknown>";