- case SUBNET_IPV6:
- snprintf(netstr, len, "%x:%x:%x:%x:%x:%x:%x:%x/%d#%d",
- ntohs(subnet->net.ipv6.address.x[0]),
- ntohs(subnet->net.ipv6.address.x[1]),
- ntohs(subnet->net.ipv6.address.x[2]),
- ntohs(subnet->net.ipv6.address.x[3]),
- ntohs(subnet->net.ipv6.address.x[4]),
- ntohs(subnet->net.ipv6.address.x[5]),
- ntohs(subnet->net.ipv6.address.x[6]),
- ntohs(subnet->net.ipv6.address.x[7]),
- subnet->net.ipv6.prefixlength,
- subnet->weight);
+ case SUBNET_IPV6: {
+ inet_ntop(AF_INET6, &subnet->net.ipv6.address, netstr, len);
+ prefixlength = subnet->net.ipv6.prefixlength;
+
+ if(prefixlength == 128) {
+ prefixlength = -1;
+ }
+