nsDependentSubstring::nsDependentSubstring(const abstract_string_type& aStr, uint32_t aStartPos) { const PRUnichar* data; uint32_t len = NS_StringGetData(aStr, &data); if (aStartPos > len) aStartPos = len; NS_StringContainerInit2(*this, data + aStartPos, len - aStartPos, NS_STRING_CONTAINER_INIT_DEPEND | NS_STRING_CONTAINER_INIT_SUBSTRING); }
nsDependentSubstring::nsDependentSubstring(const abstract_string_type& aStr, PRUint32 aStartPos, PRUint32 aLength) { const PRUnichar* data; PRUint32 len = NS_StringGetData(aStr, &data); if (aStartPos > len) aStartPos = len; if (aStartPos + aLength > len) aLength = len - aStartPos; NS_StringContainerInit2(*this, data + aStartPos, aLength, NS_STRING_CONTAINER_INIT_DEPEND | NS_STRING_CONTAINER_INIT_SUBSTRING); }
nsDependentSubstring::nsDependentSubstring(const abstract_string_type& aStr, uint32_t aStartPos, uint32_t aLength) { const char16_t* data; uint32_t len = NS_StringGetData(aStr, &data); if (aStartPos > len) { aStartPos = len; } if (aStartPos + aLength > len) { aLength = len - aStartPos; } NS_StringContainerInit2(*this, data + aStartPos, aLength, NS_STRING_CONTAINER_INIT_DEPEND | NS_STRING_CONTAINER_INIT_SUBSTRING); }