- /* Work out which address rrtypes we want but don't have. */
- addr_rrtypes(ads, pans->type, parent->flags, rrty, &nrrty);
- for (i = 0, p = pans->rrs.bytes; i < pans->nrrs; i++, p += pans->rrsz) {
- a = (adns_rr_addr *)p;
- ty = 0;
- switch (a->addr.sa.sa_family) {
- case AF_INET: ty = adns_r_a; break;
- case AF_INET6: ty = adns_r_aaaa; break;
- }
- assert(ty);
- for (j = 0; j < nrrty && ty != (rrty[j] & adns_rrt_typemask); j++);
- if (j < nrrty) rrty[j] = rrty[--nrrty];
- }
- assert(nrrty);
-