[svn] commit: r1121 - /trunk/src/lib/auth/data_source.cc

BIND 10 source code commits bind10-changes at lists.isc.org
Fri Mar 5 04:58:20 UTC 2010


Author: jinmei
Date: Fri Mar  5 04:58:20 2010
New Revision: 1121

Log:
cleanup: removed intermediate try-catch.  this might be a bit controversial,
but IMO it doesn't make sense

Modified:
    trunk/src/lib/auth/data_source.cc

Modified: trunk/src/lib/auth/data_source.cc
==============================================================================
--- trunk/src/lib/auth/data_source.cc (original)
+++ trunk/src/lib/auth/data_source.cc Fri Mar  5 04:58:20 2010
@@ -89,17 +89,16 @@
     const generic::DNAME& dname = dynamic_cast<const generic::DNAME&>(rd);
     const Name& dname_target(dname.getDname());
 
-    try {
-        int qnlen = task->qname.getLabelCount();
-        int dnlen = rrset->getName().getLabelCount();
-        const Name& prefix(task->qname.split(0, qnlen - dnlen));
-        const Name& newname(prefix.concatenate(dname_target));
-        RRsetPtr cname(new RRset(task->qname, task->qclass, RRType::CNAME(),
-                                 rrset->getTTL()));
-        cname->addRdata(generic::CNAME(newname));
-        cname->setTTL(rrset->getTTL());
-        target.addRRset(cname);
-    } catch (...) {}
+    RRsetPtr cname(new RRset(task->qname, task->qclass, RRType::CNAME(),
+                             rrset->getTTL()));
+
+    const int qnlen = task->qname.getLabelCount();
+    const int dnlen = rrset->getName().getLabelCount();
+    assert(qnlen > dnlen);
+    const Name& prefix(task->qname.split(0, qnlen - dnlen));
+    cname->addRdata(generic::CNAME(prefix.concatenate(dname_target)));
+
+    target.addRRset(cname);
 }
 
 // Add a task to the query task queue to look up the data pointed
@@ -197,8 +196,8 @@
     if (diff > 1) {
         bool found = false;
         RRsetList ref;
-        for(int i = diff; i > 1; --i) {
-            Name sub(task->qname.split(i - 1, nlen - i));
+        for (int i = diff; i > 1; --i) {
+            const Name sub(task->qname.split(i - 1, nlen - i));
             if (refQuery(sub, q, task, ds, zonename, ref)) {
                 found = true;
                 break;




More information about the bind10-changes mailing list