AnvilStats: Added ChunkExtract mode of operation, splitting Anvil files into individual chunks.

Both original zlibbed chunks and re-gzipped chunks are output.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1223 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
madmaxoft@gmail.com
2013-02-25 19:06:37 +00:00
parent 4ce0c5a983
commit 24d3d5dac4
11 changed files with 205 additions and 14 deletions
+1 -2
View File
@@ -94,10 +94,9 @@ bool cFile::Open(const AString & iFileName, eMode iMode)
void cFile::Close(void)
{
ASSERT(IsOpen()); // You should not close file objects that don't have an open file.
if (!IsOpen())
{
// Closing an unopened file is a legal nop
return;
}
+2 -2
View File
@@ -85,7 +85,7 @@ int cGZipFile::ReadRestOfFile(AString & a_Contents)
bool cGZipFile::Write(const AString & a_Contents)
bool cGZipFile::Write(const char * a_Contents, int a_Size)
{
if (m_File == NULL)
{
@@ -99,7 +99,7 @@ bool cGZipFile::Write(const AString & a_Contents)
return false;
}
return (gzwrite(m_File, a_Contents.data(), a_Contents.size()) != 0);
return (gzwrite(m_File, a_Contents, a_Size) != 0);
}
+3 -1
View File
@@ -37,7 +37,9 @@ public:
int ReadRestOfFile(AString & a_Contents);
/// Writes a_Contents into file, compressing it along the way. Returns true if successful. Multiple writes are supported.
bool Write(const AString & a_Contents);
bool Write(const AString & a_Contents) { return Write(a_Contents.data(), (int)(a_Contents.size())); }
bool Write(const char * a_Data, int a_Size);
protected:
gzFile m_File;