// Return the last token, as it was not empty
lexer_.ungetToken();
- const string name_string(getString());
+ const MasterToken::StringRegion
+ name_string(lexer_.getNextToken(MasterToken::QSTRING).
+ getStringRegion());
// TODO $ handling
- const Name name(name_string); // TODO: Origin
+ const Name name(name_string.beg, name_string.len, &zone_origin_);
// TODO: Some more flexibility. We don't allow omitting anything yet
// The parameters
const RRClass rrclass(getString());
const RRType rrtype(getString());
- // TODO: Origin handling
const rdata::RdataPtr data(rdata::createRdata(rrtype, rrclass,
- lexer_, NULL,
+ lexer_,
+ &zone_origin_,
options_,
callbacks_));
// In case we get NULL, it means there was error creating
private:
MasterLexer lexer_;
- const Name& zone_origin_;
+ const Name zone_origin_;
const RRClass zone_class_;
MasterLoaderCallbacks callbacks_;
AddRRCallback add_callback_;