Browse Source

refine Query::getAdditional()

chenzhengzhang 14 years ago
parent
commit
0e1d792f2e
1 changed files with 10 additions and 16 deletions
  1. 10 16
      src/bin/auth/query.cc

+ 10 - 16
src/bin/auth/query.cc

@@ -32,22 +32,16 @@ namespace auth {
 
 void
 Query::getAdditional(const Zone& zone, const RRset& rrset) const {
-    if (rrset.getType() == RRType::NS()) {
-        // Need to perform the search in the "GLUE OK" mode.
-        RdataIteratorPtr rdata_iterator = rrset.getRdataIterator();
-        for (; !rdata_iterator->isLast(); rdata_iterator->next()) {
-             const Rdata& rdata(rdata_iterator->getCurrent());
-             const generic::NS& ns = dynamic_cast<const generic::NS&>(rdata);
-             findAddrs(zone, ns.getNSName(), Zone::FIND_GLUE_OK);
-        }
-    } else if (rrset.getType() == RRType::MX()) {
-        RdataIteratorPtr rdata_iterator = rrset.getRdataIterator();
-        for (RdataIteratorPtr rdata_iterator(rrset.getRdataIterator());
-            !rdata_iterator->isLast(); rdata_iterator->next())
-        {
-             const Rdata& rdata(rdata_iterator->getCurrent());
-             const generic::MX& mx(dynamic_cast<const generic::MX&>(rdata));
-             findAddrs(zone, mx.getMXName());
+    RdataIteratorPtr rdata_iterator(rrset.getRdataIterator());
+    for (; !rdata_iterator->isLast(); rdata_iterator->next()) {
+        const Rdata& rdata(rdata_iterator->getCurrent());
+        if (rrset.getType() == RRType::NS()) {
+            // Need to perform the search in the "GLUE OK" mode.
+            const generic::NS& ns = dynamic_cast<const generic::NS&>(rdata);
+            findAddrs(zone, ns.getNSName(), Zone::FIND_GLUE_OK);
+        } else if (rrset.getType() == RRType::MX()) {
+            const generic::MX& mx(dynamic_cast<const generic::MX&>(rdata));
+            findAddrs(zone, mx.getMXName());
         }
     }
 }