if (usec_sub_unsigned(j->until, ts) < j->rr->ttl * USEC_PER_SEC / 2)
continue;
+ if (max_rr > 0 && ancount >= max_rr) {
+ DNS_PACKET_HEADER(p)->ancount = htobe16(ancount);
+ ancount = 0;
+
+ r = dns_packet_new_query(&p->more, p->protocol, 0, true);
+ if (r < 0)
+ return r;
+
+ p = p->more;
+
+ max_rr = UINT_MAX;
+ }
+
r = dns_packet_append_rr(p, j->rr, 0, NULL, NULL);
if (r == -EMSGSIZE) {
if (max_rr == 0)
return r;
ancount++;
- if (max_rr > 0 && ancount >= max_rr) {
- DNS_PACKET_HEADER(p)->ancount = htobe16(ancount);
- ancount = 0;
-
- r = dns_packet_new_query(&p->more, p->protocol, 0, true);
- if (r < 0)
- return r;
-
- p = p->more;
-
- max_rr = UINT_MAX;
- }
}
finalize: