|
|
|
@ -103,20 +103,21 @@ void FileLog::open_file()
|
|
|
|
|
void FileLog::PutBuffer(PT::WTextStream * buffer, std::ostream & out_stream)
|
|
|
|
|
{
|
|
|
|
|
char utf8_buffer[256];
|
|
|
|
|
std::size_t buffer_len = sizeof(utf8_buffer) / sizeof(char);
|
|
|
|
|
std::size_t utf8_sequence_max_length = 10;
|
|
|
|
|
std::size_t index = 0;
|
|
|
|
|
|
|
|
|
|
PT::WTextStream::const_iterator i = buffer->begin();
|
|
|
|
|
|
|
|
|
|
while( i != buffer->end() )
|
|
|
|
|
{
|
|
|
|
|
utf8_buffer[index++] = *i;
|
|
|
|
|
|
|
|
|
|
if( index + 10 > sizeof(utf8_buffer) / sizeof(char) )
|
|
|
|
|
if( index + utf8_sequence_max_length > buffer_len )
|
|
|
|
|
{
|
|
|
|
|
out_stream.write(utf8_buffer, index);
|
|
|
|
|
index = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
index += PT::IntToUTF8(*i, utf8_buffer + index, buffer_len - index);
|
|
|
|
|
++i;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|