Jive reference manual
GzipFileWriter.cpp
#include <jem/base/System.h>
#include <jem/io/FileName.h>
#include <jem/io/FileReader.h>
#include <jem/io/GzipFileWriter.h>
using namespace jem;
using namespace jem::io;
//-----------------------------------------------------------------------
// gzip
//-----------------------------------------------------------------------
int gzip ( int argc, char** argv )
{
const int N = 128;
Ref<Reader> input;
Ref<Writer> output;
char buf[N];
for ( int i = 1; i < argc; i++ )
{
String fname = argv[i];
if ( FileName::getSuffix( fname ) == ".gz" )
{
continue;
}
input = newInstance<FileReader> ( fname );
output = newInstance<GzipFileWriter> ( fname + ".gz" );
idx_t k = input->read ( buf, N );
while ( k > 0 )
{
output->write ( buf, k );
k = input->read ( buf, N );
}
}
return 0;
}
//-----------------------------------------------------------------------
// main
//-----------------------------------------------------------------------
int main ( int argc, char** argv )
{
return System::exec ( & gzip, argc, argv );
}