lib/icu/Compare: use StringStartsWith() for improved code clarity

Also fixes the inverted strncmp() call.
This commit is contained in:
Max Kellermann 2022-09-27 20:08:03 +02:00
parent cd253e470a
commit 2c11095eed

View File

@ -20,6 +20,7 @@
#include "Compare.hxx"
#include "CaseFold.hxx"
#include "util/StringAPI.hxx"
#include "util/StringCompare.hxx"
#include "config.h"
#ifdef _WIN32
@ -117,8 +118,7 @@ bool
IcuCompare::StartsWith(const char *haystack) const noexcept
{
#ifdef HAVE_ICU_CASE_FOLD
return StringIsEqual(IcuCaseFold(haystack).c_str(),
needle.c_str(), strlen(needle.c_str()));
return StringStartsWith(IcuCaseFold(haystack).c_str(), needle);
#elif defined(_WIN32)
if (needle == nullptr)
/* the MultiByteToWideChar() call in the constructor
@ -138,6 +138,6 @@ IcuCompare::StartsWith(const char *haystack) const noexcept
return false;
}
#else
return strncmp(haystack, needle.c_str(), strlen(needle.c_str()));
return StringStartsWith(haystack, needle);
#endif
}