string: fix lowercase function

This commit is contained in:
Andrzej Rybczak
2012-09-08 15:58:35 +02:00
parent 1eecc0aa0b
commit 8f693cd822
8 changed files with 32 additions and 30 deletions

View File

@@ -234,11 +234,13 @@ template <typename C> bool basic_buffer<C>::setFormatting(
if (s.empty())
return false;
bool result = false;
std::basic_string<C> base = m_string;
if (!case_sensitive)
std::basic_string<C> base;
if (case_sensitive)
base = m_string;
else
{
lowercase(s);
lowercase(base);
base = lowercase(m_string);
s = lowercase(s);
}
FormatPos fp;
for (size_t i = base.find(s); i != std::basic_string<C>::npos; i = base.find(s, i))
@@ -268,11 +270,13 @@ template <typename C> void basic_buffer<C>::removeFormatting(
{
if (pattern.empty())
return;
std::basic_string<C> base = m_string;
if (!case_sensitive)
std::basic_string<C> base;
if (case_sensitive)
base = m_string;
else
{
lowercase(pattern);
lowercase(base);
base = lowercase(base);
pattern = lowercase(pattern);
}
FormatPos fp;
for (size_t i = base.find(pattern); i != std::basic_string<C>::npos; i = base.find(pattern, i))