Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/wolfpld/tracy.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Taudul <wolf.pld@gmail.com>2018-05-03 18:29:58 +0300
committerBartosz Taudul <wolf.pld@gmail.com>2018-05-03 18:29:58 +0300
commit3d13ea09e82929b547e15749393f681cd82216d5 (patch)
treee6ca2df5175d45d57bd9ccda2977e3f9cb63876e /server/TracyFileRead.hpp
parent7d32ef8c8bca096764c7ab99d2b9aff0664d5518 (diff)
Move block decompression to a separate function.
Diffstat (limited to 'server/TracyFileRead.hpp')
-rw-r--r--server/TracyFileRead.hpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/server/TracyFileRead.hpp b/server/TracyFileRead.hpp
index d566bc41..89b7bb9f 100644
--- a/server/TracyFileRead.hpp
+++ b/server/TracyFileRead.hpp
@@ -129,18 +129,13 @@ private:
void ReadBig( void* ptr, size_t size )
{
- char m_lz4buf[LZ4Size];
auto dst = (char*)ptr;
while( size > 0 )
{
if( m_offset == BufSize )
{
std::swap( m_buf, m_second );
- m_offset = 0;
- uint32_t sz;
- fread( &sz, 1, sizeof( sz ), m_file );
- fread( m_lz4buf, 1, sz, m_file );
- m_lastBlock = LZ4_decompress_safe_continue( m_stream, m_lz4buf, m_buf, sz, BufSize );
+ ReadBlock();
}
const auto sz = std::min( size, BufSize - m_offset );
@@ -153,17 +148,12 @@ private:
void SkipBig( size_t size )
{
- char m_lz4buf[LZ4Size];
while( size > 0 )
{
if( m_offset == BufSize )
{
std::swap( m_buf, m_second );
- m_offset = 0;
- uint32_t sz;
- fread( &sz, 1, sizeof( sz ), m_file );
- fread( m_lz4buf, 1, sz, m_file );
- m_lastBlock = LZ4_decompress_safe_continue( m_stream, m_lz4buf, m_buf, sz, BufSize );
+ ReadBlock();
}
const auto sz = std::min( size, BufSize - m_offset );
@@ -172,6 +162,16 @@ private:
}
}
+ void ReadBlock()
+ {
+ char m_lz4buf[LZ4Size];
+ m_offset = 0;
+ uint32_t sz;
+ fread( &sz, 1, sizeof( sz ), m_file );
+ fread( m_lz4buf, 1, sz, m_file );
+ m_lastBlock = LZ4_decompress_safe_continue( m_stream, m_lz4buf, m_buf, sz, BufSize );
+ }
+
enum { BufSize = 64 * 1024 };
enum { LZ4Size = LZ4_COMPRESSBOUND( BufSize ) };