#include <snappy.h>
#include <iostream>
+#include <algorithm>
#include <assert.h>
#include <string.h>
#define SNAPPY_CHUNK_SIZE (1 * 1024 * 1024)
-#define SNAPPY_BYTE1 'a'
-#define SNAPPY_BYTE2 't'
using namespace trace;
int SnappyFile::rawGetc()
{
- int c = 0;
+ unsigned char c = 0;
if (rawRead(&c, 1) != 1)
return -1;
return c;
int SnappyFile::rawPercentRead()
{
- return 100 * (double(m_stream.tellg()) / double(m_endPos));
+ return int(100 * (double(m_stream.tellg()) / double(m_endPos)));
}
File* File::createSnappy(void) {
return new SnappyFile;
}
-
-bool File::isSnappyCompressed(const std::string &filename)
-{
- std::fstream stream(filename.c_str(),
- std::fstream::binary | std::fstream::in);
- if (!stream.is_open())
- return false;
-
- unsigned char byte1, byte2;
- stream >> byte1;
- stream >> byte2;
- stream.close();
-
- return (byte1 == SNAPPY_BYTE1 && byte2 == SNAPPY_BYTE2);
-}