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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user