add 2nd operator() to prepare for future FindInReadable work in bug 100214
not part of build
This commit is contained in:
@@ -83,35 +83,13 @@ ToUpperCase( nsAString& aString )
|
|||||||
copy_string(aString.BeginWriting(fromBegin), aString.EndWriting(fromEnd), converter);
|
copy_string(aString.BeginWriting(fromBegin), aString.EndWriting(fromEnd), converter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class CaseInsensitivePRUnicharComparator
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
PRBool operator()( PRUnichar lhs, PRUnichar rhs ) const {
|
|
||||||
NS_InitCaseConversion();
|
|
||||||
|
|
||||||
PRUnichar lhsUpper; PRUnichar rhsUpper;
|
|
||||||
gCaseConv->ToUpper(lhs, &lhsUpper);
|
|
||||||
gCaseConv->ToUpper(rhs, &rhsUpper);
|
|
||||||
return lhsUpper = rhsUpper;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
PRBool
|
PRBool
|
||||||
CaseInsensitiveFindInReadable( const nsAString& aPattern, nsAString::const_iterator& aSearchStart, nsAString::const_iterator& aSearchEnd )
|
CaseInsensitiveFindInReadable( const nsAString& aPattern, nsAString::const_iterator& aSearchStart, nsAString::const_iterator& aSearchEnd )
|
||||||
{
|
{
|
||||||
nsAutoString lowerPattern(aPattern);
|
return FindInReadable(aPattern, aStart, aEnd, nsCaseInsensitiveStringComparator());
|
||||||
ToLowerCase(lowerPattern);
|
|
||||||
|
|
||||||
nsAutoString lowerString;
|
|
||||||
CopyUnicodeTo(aSearchStart, aSearchEnd, lowerString);
|
|
||||||
|
|
||||||
nsAString::const_iterator match_start, match_end;
|
|
||||||
return FindInReadable(lowerPattern,
|
|
||||||
lowerString.BeginReading(match_start),
|
|
||||||
lowerString.EndReading(match_end));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
nsCaseInsensitiveStringComparator::operator()( const PRUnichar* lhs, const PRUnichar* rhs, PRUint32 aLength ) const
|
nsCaseInsensitiveStringComparator::operator()( const PRUnichar* lhs, const PRUnichar* rhs, PRUint32 aLength ) const
|
||||||
{
|
{
|
||||||
@@ -121,4 +99,16 @@ nsCaseInsensitiveStringComparator::operator()( const PRUnichar* lhs, const PRUni
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PRBool
|
||||||
|
nsCaseInsensitiveStringComparator::operator()( PRUnichar lhs, PRUnichar rhs ) const
|
||||||
|
{
|
||||||
|
if (lhs == rhs) return PR_TRUE;
|
||||||
|
NS_InitCaseConversion();
|
||||||
|
|
||||||
|
gCaseConv->ToUpper(lhs, &lhs);
|
||||||
|
gCaseConv->ToUpper(rhs, &rhs);
|
||||||
|
|
||||||
|
return lhs == rhs;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ class nsCaseInsensitiveStringComparator
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual int operator()( const PRUnichar*, const PRUnichar*, PRUint32 aLength ) const;
|
virtual int operator()( const PRUnichar*, const PRUnichar*, PRUint32 aLength ) const;
|
||||||
|
virtual int operator()( PRUnichar, PRUnichar ) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user