@@ -303,7 +303,7 @@ Name::Name(const std::string &namestring, bool downcase) {
303
303
// And get the output
304
304
labelcount_ = offsets.size ();
305
305
isc_throw_assert (labelcount_ > 0 && labelcount_ <= Name::MAX_LABELS);
306
- ndata_.assign (ndata.data (), ndata.size ());
306
+ ndata_.assign (ndata.data (), ndata.data () + ndata. size ());
307
307
length_ = ndata_.size ();
308
308
offsets_.assign (offsets.begin (), offsets.end ());
309
309
}
@@ -336,7 +336,7 @@ Name::Name(const char* namedata, size_t data_len, const Name* origin,
336
336
// Get the output
337
337
labelcount_ = offsets.size ();
338
338
isc_throw_assert (labelcount_ > 0 && labelcount_ <= Name::MAX_LABELS);
339
- ndata_.assign (ndata.data (), ndata.size ());
339
+ ndata_.assign (ndata.data (), ndata.data () + ndata. size ());
340
340
length_ = ndata_.size ();
341
341
offsets_.assign (offsets.begin (), offsets.end ());
342
342
@@ -347,7 +347,7 @@ Name::Name(const char* namedata, size_t data_len, const Name* origin,
347
347
// Drop the last character of the data (the \0) and append a copy of
348
348
// the origin's data
349
349
ndata_.erase (ndata_.end () - 1 );
350
- ndata_.append ( origin->ndata_ );
350
+ ndata_.insert (ndata. end (), origin->ndata_ . begin (), origin-> ndata_ . end () );
351
351
352
352
// Do a similar thing with offsets. However, we need to move them
353
353
// so they point after the prefix we parsed before.
@@ -582,7 +582,7 @@ Name::concatenate(const Name& suffix) const {
582
582
583
583
Name retname;
584
584
retname.ndata_ .reserve (length);
585
- retname.ndata_ .assign (ndata_, 0 , length_ - 1 );
585
+ retname.ndata_ .assign (ndata_. data (), ndata_. data () + length_ - 1 );
586
586
retname.ndata_ .insert (retname.ndata_ .end (),
587
587
suffix.ndata_ .begin (), suffix.ndata_ .end ());
588
588
isc_throw_assert (retname.ndata_ .size () == length);
@@ -622,7 +622,7 @@ Name::reverse() const {
622
622
NameString::const_iterator n0 = ndata_.begin ();
623
623
retname.offsets_ .push_back (0 );
624
624
while (rit1 != offsets_.rend ()) {
625
- retname.ndata_ .append ( n0 + *rit1, n0 + *rit0);
625
+ retname.ndata_ .insert (retname. ndata_ . end (), n0 + *rit1, n0 + *rit0);
626
626
retname.offsets_ .push_back (retname.ndata_ .size ());
627
627
++rit0;
628
628
++rit1;
@@ -662,7 +662,7 @@ Name::split(const unsigned int first, const unsigned int n) const {
662
662
// original name, and append the trailing dot explicitly.
663
663
//
664
664
retname.ndata_ .reserve (retname.offsets_ .back () + 1 );
665
- retname.ndata_ .assign (ndata_, offsets_[first], retname.offsets_ .back ());
665
+ retname.ndata_ .assign (ndata_. data () + offsets_[first], ndata_. data () + retname.offsets_ .back ());
666
666
retname.ndata_ .push_back (0 );
667
667
668
668
retname.length_ = retname.ndata_ .size ();
0 commit comments