I'm getting a couple of build errors with JUCE_STRING_UTF_TYPE 32 with this new function. The following has fixed it for me:
void String::appendCharPointer (const CharPointerType startOfTextToAppend,
const CharPointerType endOfTextToAppend)
{
jassert (startOfTextToAppend.getAddress() != nullptr && endOfTextToAppend.getAddress() != nullptr);
jassert (startOfTextToAppend.getAddress() <= endOfTextToAppend.getAddress());
const size_t extraBytesNeeded = sizeof (CharPointerType::CharType) * (endOfTextToAppend.getAddress() - startOfTextToAppend.getAddress());
if (extraBytesNeeded > 0)
{
const size_t byteOffsetOfNull = getByteOffsetOfEnd();
preallocateBytes (byteOffsetOfNull + extraBytesNeeded);
CharPointerType::CharType* const newStringStart = addBytesToPointer (text.getAddress(), (int) byteOffsetOfNull);
memcpy (newStringStart, startOfTextToAppend.getAddress(), extraBytesNeeded);
CharPointerType (newStringStart + (extraBytesNeeded / sizeof (CharPointerType::CharType))).writeNull();
}
}
