Also fix tests to use absolute names.
#include <dns/rdata.h>
#include <dns/rdataclass.h>
+#include <dns/rdata/generic/detail/lexer_util.h>
+
using namespace std;
using boost::lexical_cast;
using namespace isc::util;
mxname_ = Name(mxname);
}
-MX::MX(MasterLexer& lexer, const Name*, MasterLoader::Options,
- MasterLoaderCallbacks&) :
+MX::MX(MasterLexer& lexer, const Name* origin,
+ MasterLoader::Options, MasterLoaderCallbacks&) :
preference_(0), mxname_(".")
{
uint32_t num = lexer.getNextToken(MasterToken::NUMBER).getNumber();
if (num > 65535) {
isc_throw(InvalidRdataText, "Invalid MX preference");
}
-
preference_ = static_cast<uint16_t>(num);
- mxname_ = Name(lexer.getNextToken(MasterToken::QSTRING).getString());
+
+ mxname_ = createNameFromLexer(lexer, origin);
}
MX::MX(uint16_t preference, const Name& mxname) :
#include <dns/rdata.h>
#include <dns/rdataclass.h>
+#include <dns/rdata/generic/detail/lexer_util.h>
+
using namespace std;
using namespace isc::util;
// check consistency.
}
-NS::NS(MasterLexer& lexer, const Name*, MasterLoader::Options,
- MasterLoaderCallbacks&) :
- nsname_(lexer.getNextToken(MasterToken::QSTRING).getString())
+NS::NS(MasterLexer& lexer, const Name* origin,
+ MasterLoader::Options, MasterLoaderCallbacks&) :
+ nsname_(createNameFromLexer(lexer, origin))
{}
NS::NS(const NS& other) :
// check consistency.
}
-PTR::PTR(MasterLexer& lexer, const Name*, MasterLoader::Options,
- MasterLoaderCallbacks&) :
- ptr_name_(lexer.getNextToken(MasterToken::QSTRING).getString())
+PTR::PTR(MasterLexer& lexer, const Name* origin,
+ MasterLoader::Options, MasterLoaderCallbacks&) :
+ ptr_name_(createNameFromLexer(lexer, origin))
{}
PTR::PTR(const PTR& source) :
TEST_F(Rdata_MX_Test, createFromLexer) {
EXPECT_EQ(0, rdata_mx.compare(
*test::createRdataUsingLexer(RRType::MX(), RRClass::IN(),
- "10 mx.example.com")));
+ "10 mx.example.com.")));
// Exceptions cause NULL to be returned.
EXPECT_FALSE(test::createRdataUsingLexer(RRType::MX(), RRClass::IN(),
- "10 mx. example.com"));
+ "10 mx. example.com."));
// 65536 is larger than maximum possible preference
EXPECT_FALSE(test::createRdataUsingLexer(RRType::MX(), RRClass::IN(),
- "65536 mx.example.com"));
+ "65536 mx.example.com."));
}
TEST_F(Rdata_MX_Test, toWireRenderer) {
TEST_F(Rdata_NS_Test, createFromLexer) {
EXPECT_EQ(0, rdata_ns.compare(
*test::createRdataUsingLexer(RRType::NS(), RRClass::IN(),
- "ns.example.com")));
+ "ns.example.com.")));
// Exceptions cause NULL to be returned.
EXPECT_FALSE(test::createRdataUsingLexer(RRType::NS(), RRClass::IN(),
TEST_F(Rdata_PTR_Test, createFromLexer) {
EXPECT_EQ(0, rdata_ptr.compare(
*test::createRdataUsingLexer(RRType::PTR(), RRClass::IN(),
- "ns.example.com")));
+ "ns.example.com.")));
}
TEST_F(Rdata_PTR_Test, toWireBuffer) {