// Gzip Writer // // Douglas Thrift // // $Id$ #include #include "GzipWriter.hpp" GzipWriter::GzipWriter(const cse::String &path) : file(CheckError(::gzopen(path.NullTerminate(), "wb"))) { } GzipWriter::~GzipWriter() { CheckError(::gzclose(file), file); } size_t GzipWriter::Write(const byte_t *data, size_t length) { int size(::gzwrite(file, data, length)); if (size == -1) throw Error(file); return size; } void GzipWriter::Flush() { CheckError(::gzflush(file, Z_SYNC_FLUSH), file); }