if (count >= maxSize) /* no more space */
dpf(("Too many interfaces..ignoring 0x%x\n",
a->sin_addr.s_addr));
- else if (!loopbacks && a->sin_addr.s_addr == htonl(0x7f000001))
+ else if (!loopbacks && a->sin_addr.s_addr == htonl(0x7f000001)) {
+ addrcount--;
continue; /* skip loopback address as well. */
- else if (loopbacks && ifm->ifm_flags & IFF_LOOPBACK)
+ } else if (loopbacks && ifm->ifm_flags & IFF_LOOPBACK) {
+ addrcount--;
continue; /* skip aliased loopbacks as well. */
- else
+ } else
buffer[count++] = a->sin_addr.s_addr;
addrcount--;
ifam = (struct ifa_msghdr *)((char *)ifam + ifam->ifam_msglen);