From: Evan Hunt Date: Sun, 17 Aug 2025 20:53:04 +0000 (-0700) Subject: simplify iterator_active() X-Git-Tag: v9.21.12~40^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=04d6412558db9b608add54541c26590167042269;p=thirdparty%2Fbind9.git simplify iterator_active() the if statements calling iterator_active() checked the EXISTS flag on the header and then iterator_active() checked it again. simplify so only the caller checks it. --- diff --git a/lib/dns/qpcache.c b/lib/dns/qpcache.c index 5d315502581..76131051239 100644 --- a/lib/dns/qpcache.c +++ b/lib/dns/qpcache.c @@ -3316,13 +3316,6 @@ iterator_active(qpcache_t *qpdb, qpc_rditer_t *iterator, dns_slabheader_t *header) { dns_ttl_t stale_ttl = header->expire + STALE_TTL(header, qpdb); - /* - * Is this a "this rdataset doesn't exist" record? - */ - if (!EXISTS(header)) { - return false; - } - /* * If this header is still active then return it. */ @@ -3352,8 +3345,9 @@ rdatasetiter_first(dns_rdatasetiter_t *it DNS__DB_FLARG) { NODE_RDLOCK(nlock, &nlocktype); for (top = qpnode->data; top != NULL; top = top->next) { - if ((EXPIREDOK(iterator) && EXISTS(top->header)) || - iterator_active(qpdb, iterator, top->header)) + if (EXISTS(top->header) && + (EXPIREDOK(iterator) || + iterator_active(qpdb, iterator, top->header))) { break; } @@ -3387,8 +3381,9 @@ rdatasetiter_next(dns_rdatasetiter_t *it DNS__DB_FLARG) { NODE_RDLOCK(nlock, &nlocktype); for (top = top->next; top != NULL; top = top->next) { - if ((EXPIREDOK(iterator) && EXISTS(top->header)) || - iterator_active(qpdb, iterator, top->header)) + if (EXISTS(top->header) && + (EXPIREDOK(iterator) || + iterator_active(qpdb, iterator, top->header))) { break; }