diff --git a/string/public/nsAWritableString.h b/string/public/nsAWritableString.h index 2201a181e48d..ff8da992472d 100644 --- a/string/public/nsAWritableString.h +++ b/string/public/nsAWritableString.h @@ -450,10 +450,14 @@ basic_nsAWritableString::do_AppendFromElementPtrLength( const CharT* aCha } template +inline void basic_nsAWritableString::do_AppendFromElement( CharT aChar ) { - do_AppendFromReadable(basic_nsLiteralChar(aChar)); + PRUint32 oldLength = Length(); + SetLength(oldLength+1); + nsWritableFragment fragment; + *GetWritableFragment(fragment, kFragmentAt, oldLength) = aChar; } diff --git a/xpcom/ds/nsAWritableString.h b/xpcom/ds/nsAWritableString.h index 2201a181e48d..ff8da992472d 100644 --- a/xpcom/ds/nsAWritableString.h +++ b/xpcom/ds/nsAWritableString.h @@ -450,10 +450,14 @@ basic_nsAWritableString::do_AppendFromElementPtrLength( const CharT* aCha } template +inline void basic_nsAWritableString::do_AppendFromElement( CharT aChar ) { - do_AppendFromReadable(basic_nsLiteralChar(aChar)); + PRUint32 oldLength = Length(); + SetLength(oldLength+1); + nsWritableFragment fragment; + *GetWritableFragment(fragment, kFragmentAt, oldLength) = aChar; } diff --git a/xpcom/string/public/nsAWritableString.h b/xpcom/string/public/nsAWritableString.h index 2201a181e48d..ff8da992472d 100644 --- a/xpcom/string/public/nsAWritableString.h +++ b/xpcom/string/public/nsAWritableString.h @@ -450,10 +450,14 @@ basic_nsAWritableString::do_AppendFromElementPtrLength( const CharT* aCha } template +inline void basic_nsAWritableString::do_AppendFromElement( CharT aChar ) { - do_AppendFromReadable(basic_nsLiteralChar(aChar)); + PRUint32 oldLength = Length(); + SetLength(oldLength+1); + nsWritableFragment fragment; + *GetWritableFragment(fragment, kFragmentAt, oldLength) = aChar; }