if (mHostRecord->addrinfo) { mIter = PR_EnumerateAddrInfo(mIter, mHostRecord->addrinfo, port, addr);
if (mHostRecord->addr_info) { mIter = PR_EnumerateAddrInfo(mIter, mHostRecord->addr_info, port, addr);
nsDNSRecord::GetNextAddr(PRUint16 port, PRNetAddr *addr){    // not a programming error to poke the DNS record when it has no more    // entries.  just fail without any debug warnings.  this enables consumers    // to enumerate the DNS record without calling HasMore.    if (mDone)        return NS_ERROR_NOT_AVAILABLE;    if (mHostRecord->addrinfo) {        mIter = PR_EnumerateAddrInfo(mIter, mHostRecord->addrinfo, port, addr);        if (!mIter)            return NS_ERROR_NOT_AVAILABLE;    }    else {        mIter = nsnull; // no iterations        NS_ASSERTION(mHostRecord->addr, "no addr");        memcpy(addr, mHostRecord->addr, sizeof(PRNetAddr));        // set given port        port = PR_htons(port);        if (addr->raw.family == PR_AF_INET)            addr->inet.port = port;        else            addr->ipv6.port = port;    }            mDone = !mIter;    return NS_OK; }