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 : 4 : bool CaseInsensitiveEqual(const std::string& s1, const std::string& s2) 11 : : { 12 [ - + ]: 4 : if (s1.size() != s2.size()) return false; 13 [ + + ]: 143 : for (size_t i = 0; i < s1.size(); ++i) { 14 : 139 : char c1 = s1[i]; 15 [ + + + + ]: 139 : if (c1 >= 'A' && c1 <= 'Z') c1 -= ('A' - 'a'); 16 : 139 : char c2 = s2[i]; 17 [ + + + - ]: 139 : if (c2 >= 'A' && c2 <= 'Z') c2 -= ('A' - 'a'); 18 [ - + ]: 139 : if (c1 != c2) return false; 19 : 139 : } 20 : 4 : return true; 21 : 4 : }