mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-08-20 09:57:10 +00:00
fixed typos
This commit is contained in:
parent
17a10ca9a3
commit
85df07e232
|
|
@ -999,19 +999,20 @@ std::vector<uint8_t *> vRichPresenceStrings;
|
||||||
// all implementations of libc (including glibc, musl, uClibc...) implement
|
// all implementations of libc (including glibc, musl, uClibc...) implement
|
||||||
// wchar_t as 4byte/32bit (scince around 1999), it would break the libc ABI,
|
// wchar_t as 4byte/32bit (scince around 1999), it would break the libc ABI,
|
||||||
// if this ever will get changed, hence this assert
|
// if this ever will get changed, hence this assert
|
||||||
static_assert( sizeof(wchar_t) == 4, "Linux with non 32bit wchar_t")
|
static_assert( sizeof(wchar_t) == 4, "Linux with non 32bit wchar_t");
|
||||||
|
|
||||||
std::string wstring_to_utf8 (const std::wstring& str)
|
std::string wstring_to_utf8 (const std::wstring& str)
|
||||||
{
|
{
|
||||||
std::string result;
|
std::string result;
|
||||||
// generous pre allocation. will never need to resize.
|
// preallocation, so it will never need to resize.
|
||||||
// it well get destructed instantly in the function that it gets called
|
// same allocation size as for the 4byte wstring representation.
|
||||||
|
// it well get destructed instantly, in the function that it gets called from
|
||||||
result.reserve(str.size() * 4);
|
result.reserve(str.size() * 4);
|
||||||
|
|
||||||
for (size_t i = 0; i < str.size(); ++i) {
|
for (size_t i = 0; i < str.size(); ++i) {
|
||||||
uint32_t cp = static_cast<uint32_t>(str[i]);
|
uint32_t cp = static_cast<uint32_t>(str[i]);
|
||||||
|
|
||||||
// outside of valid unicode range or preserved UTF-16LE surrogate pair
|
// outside of valid unicode range or preserved UTF-16 surrogate pairs (just in case)
|
||||||
if (cp > 0x10FFFF || (cp >= 0xD800 && cp <= 0xDFFF)) {
|
if (cp > 0x10FFFF || (cp >= 0xD800 && cp <= 0xDFFF)) {
|
||||||
cp = 0xFFFD; // unicode replacement character
|
cp = 0xFFFD; // unicode replacement character
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue