diff options
author | Mattes D <github@xoft.cz> | 2014-09-28 22:04:30 +0200 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-09-28 22:04:30 +0200 |
commit | 8d55cd409e38d8759b61e89a4b3dea678c1e5f98 (patch) | |
tree | b587e2f8d0b1536e1e4ff0d0bc62c998eccd5141 /src/StringUtils.cpp | |
parent | Merge pull request #1463 from mc-server/sp_docs (diff) | |
parent | Compilation fix (diff) | |
download | cuberite-8d55cd409e38d8759b61e89a4b3dea678c1e5f98.tar cuberite-8d55cd409e38d8759b61e89a4b3dea678c1e5f98.tar.gz cuberite-8d55cd409e38d8759b61e89a4b3dea678c1e5f98.tar.bz2 cuberite-8d55cd409e38d8759b61e89a4b3dea678c1e5f98.tar.lz cuberite-8d55cd409e38d8759b61e89a4b3dea678c1e5f98.tar.xz cuberite-8d55cd409e38d8759b61e89a4b3dea678c1e5f98.tar.zst cuberite-8d55cd409e38d8759b61e89a4b3dea678c1e5f98.zip |
Diffstat (limited to '')
-rw-r--r-- | src/StringUtils.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/StringUtils.cpp b/src/StringUtils.cpp index 73147eebc..21962f832 100644 --- a/src/StringUtils.cpp +++ b/src/StringUtils.cpp @@ -441,10 +441,10 @@ static bool isLegalUTF8(const unsigned char * source, int length) -AString & UTF8ToRawBEUTF16(const char * a_UTF8, size_t a_UTF8Length, AString & a_UTF16) +AString UTF8ToRawBEUTF16(const char * a_UTF8, size_t a_UTF8Length) { - a_UTF16.clear(); - a_UTF16.reserve(a_UTF8Length * 3); + AString UTF16; + UTF16.reserve(a_UTF8Length * 3); const unsigned char * source = (const unsigned char*)a_UTF8; const unsigned char * sourceEnd = source + a_UTF8Length; @@ -458,12 +458,12 @@ AString & UTF8ToRawBEUTF16(const char * a_UTF8, size_t a_UTF8Length, AString & a unsigned short extraBytesToRead = trailingBytesForUTF8[*source]; if (source + extraBytesToRead >= sourceEnd) { - return a_UTF16; + return UTF16; } // Do this check whether lenient or strict if (!isLegalUTF8(source, extraBytesToRead + 1)) { - return a_UTF16; + return UTF16; } // The cases all fall through. See "Note A" below. @@ -487,13 +487,13 @@ AString & UTF8ToRawBEUTF16(const char * a_UTF8, size_t a_UTF8Length, AString & a ch = ' '; } unsigned short v = htons((unsigned short)ch); - a_UTF16.append((const char *)&v, 2); + UTF16.append((const char *)&v, 2); } else if (ch > UNI_MAX_UTF16) { // Invalid value, replace with a space unsigned short v = htons(' '); - a_UTF16.append((const char *)&v, 2); + UTF16.append((const char *)&v, 2); } else { @@ -501,11 +501,11 @@ AString & UTF8ToRawBEUTF16(const char * a_UTF8, size_t a_UTF8Length, AString & a ch -= halfBase; unsigned short v1 = htons((ch >> halfShift) + UNI_SUR_HIGH_START); unsigned short v2 = htons((ch & halfMask) + UNI_SUR_LOW_START); - a_UTF16.append((const char *)&v1, 2); - a_UTF16.append((const char *)&v2, 2); + UTF16.append((const char *)&v1, 2); + UTF16.append((const char *)&v2, 2); } } - return a_UTF16; + return UTF16; } /* |