string ret;
ret.reserve(label.size()+4);
for(const auto & part : parts) {
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic)
auto label_part = std::string_view(label.c_str() + part.first, 1 + label.length() - part.first); // also match trailing 0, hence '1 +'
if(!root.empty() && pdns_ilexicographical_compare_three_way(root, label_part) == 0) {
const unsigned char rootptr[2]={0xc0,0x11};
static constexpr bool l_verbose=false;
static constexpr uint16_t maxCompressionOffset=16384;
-template <typename Container> uint16_t GenericDNSPacketWriter<Container>::lookupName(const DNSName& name, uint16_t* matchLen)
+template <typename Container> uint16_t GenericDNSPacketWriter<Container>::lookupName(const DNSName& name, uint16_t* matchLen) // NOLINT(readability-function-cognitive-complexity)
{
// iterate over the written labels, see if we find a match
const auto& raw = name.getStorage();
break;
}
- auto rawpart = std::string_view(raw.c_str() + *positionInNameIter + 1, nlen);
- auto pktpart = std::string_view((const char*)&d_content[*positionInPacketIter] + 1, nlen);
+ auto rawpart = std::string_view(raw.c_str() + *positionInNameIter + 1, nlen); // NOLINT(cppcoreguidelines-pro-bounds-pointer-arithmetic)
+ auto pktpart = std::string_view((const char*)&d_content[*positionInPacketIter] + 1, nlen); // NOLINT(cppcoreguidelines-pro-bounds-pointer-arithmetic)
if (pdns_ilexicographical_compare_three_way(rawpart, pktpart) != 0) {
if (l_verbose) {
cout << "Mismatch: " << rawpart << " != " << pktpart << endl;
#endif
BOOST_AUTO_TEST_CASE(test_pdns_ilexicographical_compare) {
- typedef boost::tuple<const std::string, const std::string, bool> case_t;
- typedef std::list<case_t> cases_t;
+ using case_t = boost::tuple<const std::string, const std::string, bool>;
+ using cases_t = std::list<case_t>;
cases_t cases = boost::assign::list_of
(case_t(std::string(""), std::string(""), false))
;
for(const case_t& val : cases) {
- bool res;
- res = pdns_ilexicographical_compare(val.get<0>(), val.get<1>());
+ bool res = pdns_ilexicographical_compare(val.get<0>(), val.get<1>());
BOOST_CHECK_EQUAL(res, val.get<2>());
}
}
BOOST_AUTO_TEST_CASE(test_pdns_iequals) {
- typedef boost::tuple<const std::string, const std::string, bool> case_t;
- typedef std::list<case_t> cases_t;
+ using case_t = boost::tuple<const std::string, const std::string, bool>;
+ using cases_t = std::list<case_t>;
cases_t cases = boost::assign::list_of
(case_t(std::string(""), std::string(""), true))
;
for(const case_t& val : cases) {
- bool res;
- res = pdns_iequals(val.get<0>(), val.get<1>());
+ bool res = pdns_iequals(val.get<0>(), val.get<1>());
BOOST_CHECK_EQUAL(res, val.get<2>());
}
}