void nsTDependentString_CharT::Rebind( const string_type& str, PRUint32 startPos ) { // If we currently own a buffer, release it. Finalize(); size_type strLength = str.Length(); if (startPos > strLength) startPos = strLength; mData = const_cast<char_type*>(str.Data()) + startPos; mLength = strLength - startPos; SetDataFlags(F_TERMINATED); }
void nsTDependentString_CharT::Rebind(const string_type& str, uint32_t startPos) { NS_ABORT_IF_FALSE(str.Flags() & F_TERMINATED, "Unterminated flat string"); // If we currently own a buffer, release it. Finalize(); size_type strLength = str.Length(); if (startPos > strLength) { startPos = strLength; } mData = const_cast<char_type*>(static_cast<const char_type*>(str.Data())) + startPos; mLength = strLength - startPos; SetDataFlags(str.Flags() & (F_TERMINATED | F_LITERAL)); }