[x2t] Fix utf16 size in Editor.bin; For bug 64790

This commit is contained in:
Sergey Konovalov
2023-10-26 13:33:19 +03:00
parent aba022beb3
commit 02b6eb939e
5 changed files with 25 additions and 11 deletions

View File

@ -886,6 +886,22 @@ namespace NSFile
}
return sizeUtf16;
}
static long GetUtf16SizeFromUnicode(const wchar_t* pUnicodes, LONG lCount, bool bIsBOM = false)
{
if (sizeof(wchar_t) == 4)
{
return GetUtf16SizeFromUnicode_4bytes(pUnicodes, lCount, bIsBOM);
}
else
{
long sizeUtf16 = 2 * lCount;
if (bIsBOM)
{
sizeUtf16 += 3;
}
return sizeUtf16;
}
}
std::wstring CUtf8Converter::GetWStringFromUTF16(const CStringUtf16& data)
{

View File

@ -126,6 +126,7 @@ namespace NSFile
static void GetUtf16StringFromUnicode_4bytes(const wchar_t* pUnicodes, LONG lCount, BYTE*& pData, int& lOutputCount, bool bIsBOM = false);
static void GetUtf16StringFromUnicode_4bytes2(const wchar_t* pUnicodes, LONG lCount, CStringUtf16& data);
static long GetUtf16SizeFromUnicode_4bytes(const wchar_t* pUnicodes, LONG lCount, bool bIsBOM = false);
static long GetUtf16SizeFromUnicode(const wchar_t* pUnicodes, LONG lCount, bool bIsBOM = false);
static std::wstring GetWStringFromUTF16(const CStringUtf16& data);
static std::wstring GetWStringFromUTF16(const unsigned short* pUtf16, LONG lCount);