Browse Source

[2656] Use createNameFromLexer() in CNAME, DNAME and SRV constructors (which accept a lexer)

Mukund Sivaraman 12 years ago
parent
commit
58ccf7aa11

+ 6 - 3
src/lib/dns/rdata/generic/cname_5.cc

@@ -22,8 +22,11 @@
 #include <dns/rdata.h>
 #include <dns/rdataclass.h>
 
+#include <dns/rdata/generic/detail/lexer_util.h>
+
 using namespace std;
 using namespace isc::util;
+using isc::dns::rdata::generic::detail::createNameFromLexer;
 
 // BEGIN_ISC_NAMESPACE
 // BEGIN_RDATA_NAMESPACE
@@ -39,9 +42,9 @@ CNAME::CNAME(InputBuffer& buffer, size_t) :
     // check consistency.
 }
 
-CNAME::CNAME(MasterLexer& lexer, const Name*, MasterLoader::Options,
-             MasterLoaderCallbacks&) :
-    cname_(lexer.getNextToken(MasterToken::QSTRING).getString())
+CNAME::CNAME(MasterLexer& lexer, const Name* origin,
+             MasterLoader::Options, MasterLoaderCallbacks&) :
+    cname_(createNameFromLexer(lexer, origin))
 {}
 
 CNAME::CNAME(const CNAME& other) :

+ 6 - 3
src/lib/dns/rdata/generic/dname_39.cc

@@ -22,8 +22,11 @@
 #include <dns/rdata.h>
 #include <dns/rdataclass.h>
 
+#include <dns/rdata/generic/detail/lexer_util.h>
+
 using namespace std;
 using namespace isc::util;
+using isc::dns::rdata::generic::detail::createNameFromLexer;
 
 // BEGIN_ISC_NAMESPACE
 // BEGIN_RDATA_NAMESPACE
@@ -39,9 +42,9 @@ DNAME::DNAME(InputBuffer& buffer, size_t) :
     // check consistency.
 }
 
-DNAME::DNAME(MasterLexer& lexer, const Name*, MasterLoader::Options,
-             MasterLoaderCallbacks&) :
-    dname_(lexer.getNextToken(MasterToken::QSTRING).getString())
+DNAME::DNAME(MasterLexer& lexer, const Name* origin,
+             MasterLoader::Options, MasterLoaderCallbacks&) :
+    dname_(createNameFromLexer(lexer, origin))
 {}
 
 DNAME::DNAME(const DNAME& other) :

+ 6 - 4
src/lib/dns/rdata/in_1/srv_33.cc

@@ -25,9 +25,12 @@
 #include <dns/rdata.h>
 #include <dns/rdataclass.h>
 
+#include <dns/rdata/generic/detail/lexer_util.h>
+
 using namespace std;
 using namespace isc::util;
 using namespace isc::util::str;
+using isc::dns::rdata::generic::detail::createNameFromLexer;
 
 // BEGIN_ISC_NAMESPACE
 // BEGIN_RDATA_NAMESPACE
@@ -120,8 +123,8 @@ SRV::SRV(InputBuffer& buffer, size_t rdata_len) {
     impl_ = new SRVImpl(priority, weight, port, targetname);
 }
 
-SRV::SRV(MasterLexer& lexer, const Name*, MasterLoader::Options,
-         MasterLoaderCallbacks&)
+SRV::SRV(MasterLexer& lexer, const Name* origin,
+         MasterLoader::Options, MasterLoaderCallbacks&)
 {
     uint32_t num = lexer.getNextToken(MasterToken::NUMBER).getNumber();
     if (num > 65535) {
@@ -141,8 +144,7 @@ SRV::SRV(MasterLexer& lexer, const Name*, MasterLoader::Options,
     }
     const uint16_t port = static_cast<uint16_t>(num);
 
-    const Name targetname =
-        Name(lexer.getNextToken(MasterToken::QSTRING).getString());
+    const Name targetname = createNameFromLexer(lexer, origin);
 
     impl_ = new SRVImpl(priority, weight, port, targetname);
 }

+ 1 - 1
src/lib/dns/tests/rdata_cname_unittest.cc

@@ -90,7 +90,7 @@ TEST_F(Rdata_CNAME_Test, createFromWire) {
 TEST_F(Rdata_CNAME_Test, createFromLexer) {
     EXPECT_EQ(0, rdata_cname.compare(
         *test::createRdataUsingLexer(RRType::CNAME(), RRClass::IN(),
-                                     "cn.example.com")));
+                                     "cn.example.com.")));
 }
 
 TEST_F(Rdata_CNAME_Test, toWireBuffer) {

+ 1 - 1
src/lib/dns/tests/rdata_dname_unittest.cc

@@ -92,7 +92,7 @@ TEST_F(Rdata_DNAME_Test, createFromWire) {
 TEST_F(Rdata_DNAME_Test, createFromLexer) {
     EXPECT_EQ(0, rdata_dname.compare(
         *test::createRdataUsingLexer(RRType::DNAME(), RRClass::IN(),
-                                     "dn.example.com")));
+                                     "dn.example.com.")));
 }
 
 TEST_F(Rdata_DNAME_Test, toWireBuffer) {