::snappy::RawCompress(m_cache, SNAPPY_CHUNK_SIZE - freeCacheSize(),
m_compressedCache, &compressedLength);
- m_stream << compressedLength;
+ writeCompressedLength(compressedLength);
m_stream.write(m_compressedCache, compressedLength);
m_cachePtr = m_cache;
} else if (m_mode == File::Read) {
return;
//assert(m_cachePtr == m_cache + m_cacheSize);
size_t compressedLength;
- m_stream >> compressedLength;
+ compressedLength = readCompressedLength();
m_stream.read((char*)m_compressedCache, compressedLength);
::snappy::GetUncompressedLength(m_compressedCache, compressedLength,
&m_cacheSize);
m_cachePtr = m_cache;
m_cacheSize = size;
}
+
+void SnappyFile::writeCompressedLength(size_t value)
+{
+ m_stream.write((char*)&value, sizeof value);
+}
+
+size_t SnappyFile::readCompressedLength()
+{
+ size_t len;
+ m_stream.read((char*)&len, sizeof len);
+ return len;
+}