Bug 226439. Add EqualsASCII(char*) string method that compares with a null-terminated char* in a single pass. Have the non-templated EqualsLiteral use it. r+sr=dbaron

git-svn-id: svn://10.0.0.236/trunk@155747 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
roc+%cs.cmu.edu
2004-04-30 12:05:14 +00:00
parent 622174e807
commit 2358f9e55e
5 changed files with 85 additions and 4 deletions

View File

@@ -114,6 +114,15 @@ nsTAString_CharT::EqualsASCII( const char* data, size_type len ) const
return ToSubstring().EqualsASCII(data, len);
}
PRBool
nsTAString_CharT::EqualsASCII( const char* data ) const
{
if (mVTable == obsolete_string_type::sCanonicalVTable)
return AsSubstring()->EqualsASCII(data);
return ToSubstring().EqualsASCII(data);
}
PRBool
nsTAString_CharT::IsVoid() const
{

View File

@@ -561,6 +561,12 @@ nsTSubstring_CharT::EqualsASCII( const char* data, size_type len ) const
return mLength == len && char_traits::compareASCII(mData, data, len) == 0;
}
PRBool
nsTSubstring_CharT::EqualsASCII( const char* data ) const
{
return char_traits::compareASCIINullTerminated(mData, mLength, data) == 0;
}
nsTSubstring_CharT::size_type
nsTSubstring_CharT::CountChar( char_type c ) const
{