Branch data Line data Source code
1 : : // Copyright (c) 2019 The Bitcoin Core developers
2 : : // Distributed under the MIT software license, see the accompanying
3 : : // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 : :
5 : : #include <test/util/str.h>
6 : :
7 : : #include <cstdint>
8 : : #include <string>
9 : :
10 : 14 : bool CaseInsensitiveEqual(const std::string& s1, const std::string& s2)
11 : : {
12 [ + - ]: 14 : if (s1.size() != s2.size()) return false;
13 [ + + ]: 632 : for (size_t i = 0; i < s1.size(); ++i) {
14 [ + + ]: 618 : char c1 = s1[i];
15 [ + + ]: 618 : if (c1 >= 'A' && c1 <= 'Z') c1 -= ('A' - 'a');
16 [ - + ]: 618 : char c2 = s2[i];
17 [ - + ]: 618 : if (c2 >= 'A' && c2 <= 'Z') c2 -= ('A' - 'a');
18 [ + - ]: 618 : if (c1 != c2) return false;
19 : : }
20 : : return true;
21 : : }
|