From: Miod Vallat Date: Mon, 13 Jul 2026 07:14:22 +0000 (+0200) Subject: Replace the use of str{n,}casecmp with pdns_ilexicographical_compare_three_way. X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ef9d994347bb1196f399b7e91f60532ccce72f50;p=thirdparty%2Fpdns.git Replace the use of str{n,}casecmp with pdns_ilexicographical_compare_three_way. Signed-off-by: Miod Vallat --- diff --git a/pdns/dnsname.hh b/pdns/dnsname.hh index 5f8bc17066..ceecce807b 100644 --- a/pdns/dnsname.hh +++ b/pdns/dnsname.hh @@ -475,7 +475,7 @@ struct SuffixMatchTree } bool operator<(const SuffixMatchTree& rhs) const { - return strcasecmp(d_name.c_str(), rhs.d_name.c_str()) < 0; + return pdns_ilexicographical_compare(d_name, rhs.d_name); } std::string d_name; @@ -492,7 +492,9 @@ struct SuffixMatchTree bool operator<(const SuffixMatchTree& smt) const { auto compareUpTo = std::min(this->d_name.size(), smt.d_name.size()); - auto ret = strncasecmp(this->d_name.data(), smt.d_name.data(), compareUpTo); + auto this_name = std::string_view(this->d_name.data(), compareUpTo); + auto smt_name = std::string_view(smt.d_name.data(), compareUpTo); + auto ret = pdns_ilexicographical_compare_three_way(this_name, smt_name); if (ret != 0) { return ret < 0; } @@ -506,7 +508,9 @@ struct SuffixMatchTree bool operator<(const LightKey& lk) const { auto compareUpTo = std::min(this->d_name.size(), lk.d_name.size()); - auto ret = strncasecmp(this->d_name.data(), lk.d_name.data(), compareUpTo); + auto this_name = std::string_view(this->d_name.data(), compareUpTo); + auto lk_name = std::string_view(lk.d_name.data(), compareUpTo); + auto ret = pdns_ilexicographical_compare_three_way(this_name, lk_name); if (ret != 0) { return ret < 0; }