mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-18 13:42:02 +00:00
36 lines
548 B
C++
36 lines
548 B
C++
|
#include <Core/Types.h>
|
||
|
#include <Common/hex.h>
|
||
|
#include <Common/Exception.h>
|
||
|
#include <IO/HexWriteBuffer.h>
|
||
|
|
||
|
|
||
|
namespace DB
|
||
|
{
|
||
|
|
||
|
void HexWriteBuffer::nextImpl()
|
||
|
{
|
||
|
if (!offset())
|
||
|
return;
|
||
|
|
||
|
for (Position p = working_buffer.begin(); p != pos; ++p)
|
||
|
{
|
||
|
UInt8 byte = *p;
|
||
|
out.write(hexUppercase(byte / 16));
|
||
|
out.write(hexUppercase(byte % 16));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
HexWriteBuffer::~HexWriteBuffer()
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
nextImpl();
|
||
|
}
|
||
|
catch (...)
|
||
|
{
|
||
|
tryLogCurrentException(__PRETTY_FUNCTION__);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|