inet_ntop(AF_INET6, &addr, ipbuf, sizeof(ipbuf) - 1);
- if (c->length == 128 && c->hostname && i == 0) {
+ if (c->length == 128 && c->hostname) {
fputs(ipbuf, fp);
char b[256];
int minprefix = -1;
for (int i = 0; i < len; ++i) {
- if (addr[i].prefix > minprefix)
+ if (addr[i].preferred > 0 && addr[i].prefix > minprefix)
minprefix = addr[i].prefix;
addr[i].addr.s6_addr32[3] = 0;