namespace isc {
namespace dns {
-const unsigned char*
+const uint8_t*
LabelSequence::getData(size_t *len) const {
*len = getDataLength();
return (&name_.ndata_[name_.offsets_[first_label_]]);
bool
LabelSequence::equals(const LabelSequence& other, bool case_sensitive) const {
size_t len, other_len;
- const unsigned char* data = getData(&len);
- const unsigned char* other_data = other.getData(&other_len);
+ const uint8_t* data = getData(&len);
+ const uint8_t* other_data = other.getData(&other_len);
if (len != other_len) {
return (false);
}
if (case_sensitive) {
- return (std::strncmp((const char*) data,
- (const char*) other_data,
- len) == 0);
+ return (std::memcmp(data, other_data, len) == 0);
}
// As long as the data was originally validated as (part of) a name,
// label length must never be a capital ascii character, so we can
// simply compare them after converting to lower characters.
for (size_t i = 0; i < len; ++i) {
- const unsigned char ch = data[i];
- const unsigned char other_ch = other_data[i];
+ const uint8_t ch = data[i];
+ const uint8_t other_ch = other_data[i];
if (isc::dns::name::internal::maptolower[ch] !=
isc::dns::name::internal::maptolower[other_ch]) {
return (false);
size_t
LabelSequence::getHash(bool case_sensitive) const {
size_t length;
- const unsigned char* s = getData(&length);
+ const uint8_t* s = getData(&length);
if (length > 16) {
length = 16;
}
size_t hash_val = 0;
while (length > 0) {
- const unsigned char c = *s++;
+ const uint8_t c = *s++;
boost::hash_combine(hash_val, case_sensitive ? c :
isc::dns::name::internal::maptolower[c]);
--length;
/// \param len Pointer to a size_t where the length of the data
/// will be stored (in number of octets)
/// \return Pointer to the wire-format data of this label sequence
- const unsigned char* getData(size_t* len) const;
+ const uint8_t* getData(size_t* len) const;
/// \brief Return the length of the wire-format data of this LabelSequence
///
uint16_t item_label_len = 0;
for (size_t i = 0; i < item.len_; ++i, ++item_pos) {
item_pos = nextPosition(*buffer_, item_pos, item_label_len);
- const unsigned char ch1 = (*buffer_)[item_pos];
- const unsigned char ch2 = name_buf_->readUint8();
+ const uint8_t ch1 = (*buffer_)[item_pos];
+ const uint8_t ch2 = name_buf_->readUint8();
if (CASE_SENSITIVE) {
if (ch1 != ch2) {
return (false);
LabelSequence sequence(name);
const size_t nlabels = sequence.getLabelCount();
size_t data_len;
- const unsigned char* data;
+ const uint8_t* data;
// Find the offset in the offset table whose name gives the longest
// match against the name to be rendered.
const LabelSequence& ls)
{
size_t len;
- const unsigned char* data = ls.getData(&len);
+ const uint8_t* data = ls.getData(&len);
ASSERT_EQ(expected_len, len) << "Expected data: " << expected_data <<
" name: " << ls.getName().toText();
EXPECT_EQ(expected_len, ls.getDataLength()) <<
"Expected data: " << expected_data <<
" name: " << ls.getName().toText();
for (size_t i = 0; i < len; ++i) {
- EXPECT_EQ((const unsigned char) expected_data[i], data[i]) <<
+ EXPECT_EQ(static_cast<const uint8_t>(expected_data[i]), data[i]) <<
"Difference at pos " << i << ": Expected data: " << expected_data <<
" name: " << ls.getName().toText();;
}
// Data comparison
size_t len;
- const unsigned char* data = ls1.getData(&len);
+ const uint8_t* data = ls1.getData(&len);
getDataCheck((const char*) data, len, ls8);
}