diff options
author | Vincent Richard <[email protected]> | 2018-09-05 22:16:48 +0000 |
---|---|---|
committer | Vincent Richard <[email protected]> | 2018-09-05 22:16:48 +0000 |
commit | 7e29cf01fa76e42a017f94294cead3e577d69d69 (patch) | |
tree | c11280d40a44c55002bd222b7cf71f16b31bbcc4 | |
parent | Moved implementation. (diff) | |
download | vmime-7e29cf01fa76e42a017f94294cead3e577d69d69.tar.gz vmime-7e29cf01fa76e42a017f94294cead3e577d69d69.zip |
Fixed bug in implementation of isStringEqualNoCase().
-rw-r--r-- | src/vmime/utility/stringUtils.cpp | 2 | ||||
-rw-r--r-- | tests/utility/stringUtilsTest.cpp | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/vmime/utility/stringUtils.cpp b/src/vmime/utility/stringUtils.cpp index 5f3c727a..823a3ea5 100644 --- a/src/vmime/utility/stringUtils.cpp +++ b/src/vmime/utility/stringUtils.cpp @@ -62,7 +62,7 @@ bool stringUtils::isStringEqualNoCase(const string& s1, const string& s2) { bool equal = true; const string::const_iterator end = s1.end(); - for (string::const_iterator i = s1.begin(), j = s2.begin(); i != end ; ++i, ++j) { + for (string::const_iterator i = s1.begin(), j = s2.begin() ; equal && i != end ; ++i, ++j) { equal = (fac.tolower(static_cast <unsigned char>(*i)) == fac.tolower(static_cast <unsigned char>(*j))); } diff --git a/tests/utility/stringUtilsTest.cpp b/tests/utility/stringUtilsTest.cpp index 393482f3..49e16434 100644 --- a/tests/utility/stringUtilsTest.cpp +++ b/tests/utility/stringUtilsTest.cpp @@ -98,6 +98,9 @@ VMIME_TEST_SUITE_BEGIN(stringUtilsTest) VASSERT_EQ("1", true, stringUtils::isStringEqualNoCase(vmime::string("foo"), vmime::string("foo"))); VASSERT_EQ("2", true, stringUtils::isStringEqualNoCase(vmime::string("FOo"), vmime::string("foo"))); VASSERT_EQ("3", true, stringUtils::isStringEqualNoCase(vmime::string("foO"), vmime::string("FOo"))); + + VASSERT_EQ("4", false, stringUtils::isStringEqualNoCase(vmime::string("foO"), vmime::string("bar"))); + VASSERT_EQ("5", false, stringUtils::isStringEqualNoCase(vmime::string("foOO"), vmime::string("barO"))); } void testIsStringEqualNoCase3() { |