コード例 #1
0
ファイル: hsStream.cpp プロジェクト: branan/Plasma
uint32_t hsStream::WriteSafeWStringLong(const plString &string)
{
    plStringBuffer<uint16_t> wbuff = string.ToUtf16();
    uint32_t len = wbuff.GetSize();
    WriteLE32(len);
    if (len > 0)
    {
        const uint16_t *buffp = wbuff.GetData();
        for (uint32_t i=0; i<len; i++)
        {
            WriteLE16(~buffp[i]);
        }
        WriteLE16(static_cast<uint16_t>(0));
    }
    return 0;
}
コード例 #2
0
ファイル: hsStream.cpp プロジェクト: branan/Plasma
uint32_t hsStream::WriteSafeWString(const plString &string)
{
    plStringBuffer<uint16_t> wbuff = string.ToUtf16();
    uint32_t len = wbuff.GetSize();
    hsAssert(len<0xf000, plString::Format("string len of %d is too long for WriteSafeWString, use WriteSafeWStringLong",
        len).c_str() );

    WriteLE16(len | 0xf000);
    if (len > 0)
    {
        const uint16_t *buffp = wbuff.GetData();
        for (uint32_t i=0; i<len; i++)
        {
            WriteLE16(~buffp[i]);
        }
        WriteLE16(static_cast<uint16_t>(0));
    }
    return 0;
}