|
|
|
@@ -1567,7 +1567,8 @@ String String::trim() const |
|
|
|
|
|
|
|
if (trimmedEnd <= start)
|
|
|
|
return empty;
|
|
|
|
else if (text < start || trimmedEnd < end)
|
|
|
|
|
|
|
|
if (text < start || trimmedEnd < end)
|
|
|
|
return String (start, trimmedEnd);
|
|
|
|
}
|
|
|
|
|
|
|
|
@@ -1921,15 +1922,13 @@ String String::createStringFromData (const void* const data_, const int size) |
|
|
|
const uint8* const data = static_cast <const uint8*> (data_);
|
|
|
|
|
|
|
|
if (size <= 0 || data == nullptr)
|
|
|
|
{
|
|
|
|
return empty;
|
|
|
|
}
|
|
|
|
else if (size == 1)
|
|
|
|
{
|
|
|
|
|
|
|
|
if (size == 1)
|
|
|
|
return charToString ((juce_wchar) data[0]);
|
|
|
|
}
|
|
|
|
else if ((data[0] == (uint8) CharPointer_UTF16::byteOrderMarkBE1 && data[1] == (uint8) CharPointer_UTF16::byteOrderMarkBE2)
|
|
|
|
|| (data[0] == (uint8) CharPointer_UTF16::byteOrderMarkLE1 && data[1] == (uint8) CharPointer_UTF16::byteOrderMarkLE2))
|
|
|
|
|
|
|
|
if ((data[0] == (uint8) CharPointer_UTF16::byteOrderMarkBE1 && data[1] == (uint8) CharPointer_UTF16::byteOrderMarkBE2)
|
|
|
|
|| (data[0] == (uint8) CharPointer_UTF16::byteOrderMarkLE1 && data[1] == (uint8) CharPointer_UTF16::byteOrderMarkLE2))
|
|
|
|
{
|
|
|
|
const bool bigEndian = (data[0] == (uint8) CharPointer_UTF16::byteOrderMarkBE1);
|
|
|
|
const int numChars = size / 2 - 1;
|
|
|
|
@@ -1952,20 +1951,18 @@ String String::createStringFromData (const void* const data_, const int size) |
|
|
|
builder.write (0);
|
|
|
|
return builder.result;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
const uint8* start = data;
|
|
|
|
const uint8* end = data + size;
|
|
|
|
|
|
|
|
if (size >= 3
|
|
|
|
&& data[0] == (uint8) CharPointer_UTF8::byteOrderMark1
|
|
|
|
&& data[1] == (uint8) CharPointer_UTF8::byteOrderMark2
|
|
|
|
&& data[2] == (uint8) CharPointer_UTF8::byteOrderMark3)
|
|
|
|
start += 3;
|
|
|
|
const uint8* start = data;
|
|
|
|
const uint8* end = data + size;
|
|
|
|
|
|
|
|
return String (CharPointer_UTF8 ((const char*) start),
|
|
|
|
CharPointer_UTF8 ((const char*) end));
|
|
|
|
}
|
|
|
|
if (size >= 3
|
|
|
|
&& data[0] == (uint8) CharPointer_UTF8::byteOrderMark1
|
|
|
|
&& data[1] == (uint8) CharPointer_UTF8::byteOrderMark2
|
|
|
|
&& data[2] == (uint8) CharPointer_UTF8::byteOrderMark3)
|
|
|
|
start += 3;
|
|
|
|
|
|
|
|
return String (CharPointer_UTF8 ((const char*) start),
|
|
|
|
CharPointer_UTF8 ((const char*) end));
|
|
|
|
}
|
|
|
|
|
|
|
|
//==============================================================================
|
|
|
|
|