Browse Source

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


git-svn-id: svn://bind10.isc.org/svn/bind10/trunk@1121 e5f2f494-b856-4b98-b285-d166d9295462

JINMEI Tatuya 15 years ago
parent
commit
2c8d432628
1 changed files with 12 additions and 13 deletions
  1. 12 13
      src/lib/auth/data_source.cc

+ 12 - 13
src/lib/auth/data_source.cc

@@ -89,17 +89,16 @@ synthesizeCname(Query& q, QueryTaskPtr task, RRsetPtr rrset, RRsetList& target)
     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 @@ hasDelegation(const DataSrc* ds, const Name* zonename, Query& q,
     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;