aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/poco/Foundation/src/DeflatingStream.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/libs/poco/Foundation/src/DeflatingStream.cpp')
-rw-r--r--contrib/libs/poco/Foundation/src/DeflatingStream.cpp780
1 files changed, 390 insertions, 390 deletions
diff --git a/contrib/libs/poco/Foundation/src/DeflatingStream.cpp b/contrib/libs/poco/Foundation/src/DeflatingStream.cpp
index 7349118354..130b8cf066 100644
--- a/contrib/libs/poco/Foundation/src/DeflatingStream.cpp
+++ b/contrib/libs/poco/Foundation/src/DeflatingStream.cpp
@@ -1,390 +1,390 @@
-//
-// DeflatingStream.cpp
-//
-// Library: Foundation
-// Package: Streams
-// Module: ZLibStream
-//
-// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
-// and Contributors.
-//
-// SPDX-License-Identifier: BSL-1.0
-//
-
-
-#include "Poco/DeflatingStream.h"
-#include "Poco/Exception.h"
-
-
-namespace Poco {
-
-
-DeflatingStreamBuf::DeflatingStreamBuf(std::istream& istr, StreamType type, int level):
- BufferedStreamBuf(STREAM_BUFFER_SIZE, std::ios::in),
- _pIstr(&istr),
- _pOstr(0),
- _eof(false)
-{
- _zstr.next_in = 0;
- _zstr.avail_in = 0;
- _zstr.total_in = 0;
- _zstr.next_out = 0;
- _zstr.avail_out = 0;
- _zstr.total_out = 0;
- _zstr.msg = 0;
- _zstr.state = 0;
- _zstr.zalloc = Z_NULL;
- _zstr.zfree = Z_NULL;
- _zstr.opaque = Z_NULL;
- _zstr.data_type = 0;
- _zstr.adler = 0;
- _zstr.reserved = 0;
-
- _buffer = new char[DEFLATE_BUFFER_SIZE];
-
- int rc = deflateInit2(&_zstr, level, Z_DEFLATED, 15 + (type == STREAM_GZIP ? 16 : 0), 8, Z_DEFAULT_STRATEGY);
- if (rc != Z_OK)
- {
- delete [] _buffer;
- throw IOException(zError(rc));
- }
-}
-
-
-DeflatingStreamBuf::DeflatingStreamBuf(std::istream& istr, int windowBits, int level):
- BufferedStreamBuf(STREAM_BUFFER_SIZE, std::ios::in),
- _pIstr(&istr),
- _pOstr(0),
- _eof(false)
-{
- _zstr.zalloc = Z_NULL;
- _zstr.zfree = Z_NULL;
- _zstr.opaque = Z_NULL;
- _zstr.next_in = 0;
- _zstr.avail_in = 0;
- _zstr.next_out = 0;
- _zstr.avail_out = 0;
-
- _buffer = new char[DEFLATE_BUFFER_SIZE];
-
- int rc = deflateInit2(&_zstr, level, Z_DEFLATED, windowBits, 8, Z_DEFAULT_STRATEGY);
- if (rc != Z_OK)
- {
- delete [] _buffer;
- throw IOException(zError(rc));
- }
-}
-
-
-DeflatingStreamBuf::DeflatingStreamBuf(std::ostream& ostr, StreamType type, int level):
- BufferedStreamBuf(STREAM_BUFFER_SIZE, std::ios::out),
- _pIstr(0),
- _pOstr(&ostr),
- _eof(false)
-{
- _zstr.zalloc = Z_NULL;
- _zstr.zfree = Z_NULL;
- _zstr.opaque = Z_NULL;
- _zstr.next_in = 0;
- _zstr.avail_in = 0;
- _zstr.next_out = 0;
- _zstr.avail_out = 0;
-
- _buffer = new char[DEFLATE_BUFFER_SIZE];
-
- int rc = deflateInit2(&_zstr, level, Z_DEFLATED, 15 + (type == STREAM_GZIP ? 16 : 0), 8, Z_DEFAULT_STRATEGY);
- if (rc != Z_OK)
- {
- delete [] _buffer;
- throw IOException(zError(rc));
- }
-}
-
-
-DeflatingStreamBuf::DeflatingStreamBuf(std::ostream& ostr, int windowBits, int level):
- BufferedStreamBuf(STREAM_BUFFER_SIZE, std::ios::out),
- _pIstr(0),
- _pOstr(&ostr),
- _eof(false)
-{
- _zstr.zalloc = Z_NULL;
- _zstr.zfree = Z_NULL;
- _zstr.opaque = Z_NULL;
- _zstr.next_in = 0;
- _zstr.avail_in = 0;
- _zstr.next_out = 0;
- _zstr.avail_out = 0;
-
- _buffer = new char[DEFLATE_BUFFER_SIZE];
-
- int rc = deflateInit2(&_zstr, level, Z_DEFLATED, windowBits, 8, Z_DEFAULT_STRATEGY);
- if (rc != Z_OK)
- {
- delete [] _buffer;
- throw IOException(zError(rc));
- }
-}
-
-
-DeflatingStreamBuf::~DeflatingStreamBuf()
-{
- try
- {
- close();
- }
- catch (...)
- {
- }
- delete [] _buffer;
- deflateEnd(&_zstr);
-}
-
-
-int DeflatingStreamBuf::close()
-{
- BufferedStreamBuf::sync();
- _pIstr = 0;
- if (_pOstr)
- {
- if (_zstr.next_out)
- {
- int rc = deflate(&_zstr, Z_FINISH);
- if (rc != Z_OK && rc != Z_STREAM_END) throw IOException(zError(rc));
- _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _zstr.avail_out);
- if (!_pOstr->good()) throw IOException(zError(rc));
- _zstr.next_out = (unsigned char*) _buffer;
- _zstr.avail_out = DEFLATE_BUFFER_SIZE;
- while (rc != Z_STREAM_END)
- {
- rc = deflate(&_zstr, Z_FINISH);
- if (rc != Z_OK && rc != Z_STREAM_END) throw IOException(zError(rc));
- _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _zstr.avail_out);
- if (!_pOstr->good()) throw IOException(zError(rc));
- _zstr.next_out = (unsigned char*) _buffer;
- _zstr.avail_out = DEFLATE_BUFFER_SIZE;
- }
- }
- _pOstr->flush();
- _pOstr = 0;
- }
- return 0;
-}
-
-
-int DeflatingStreamBuf::sync()
-{
- if (BufferedStreamBuf::sync())
- return -1;
-
- if (_pOstr)
- {
- if (_zstr.next_out)
- {
- int rc = deflate(&_zstr, Z_SYNC_FLUSH);
- if (rc != Z_OK) throw IOException(zError(rc));
- _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _zstr.avail_out);
- if (!_pOstr->good()) throw IOException(zError(rc));
- while (_zstr.avail_out == 0)
- {
- _zstr.next_out = (unsigned char*) _buffer;
- _zstr.avail_out = DEFLATE_BUFFER_SIZE;
- rc = deflate(&_zstr, Z_SYNC_FLUSH);
- if (rc != Z_OK) throw IOException(zError(rc));
- _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _zstr.avail_out);
- if (!_pOstr->good()) throw IOException(zError(rc));
- };
- _zstr.next_out = (unsigned char*) _buffer;
- _zstr.avail_out = DEFLATE_BUFFER_SIZE;
- }
- // NOTE: This breaks the Zip library and causes corruption in some files.
- // See GH #1828
- // _pOstr->flush();
- }
- return 0;
-}
-
-
-int DeflatingStreamBuf::readFromDevice(char* buffer, std::streamsize length)
-{
- if (!_pIstr) return 0;
- if (_zstr.avail_in == 0 && !_eof)
- {
- int n = 0;
- if (_pIstr->good())
- {
- _pIstr->read(_buffer, DEFLATE_BUFFER_SIZE);
- n = static_cast<int>(_pIstr->gcount());
- }
- if (n > 0)
- {
- _zstr.next_in = (unsigned char*) _buffer;
- _zstr.avail_in = n;
- }
- else
- {
- _zstr.next_in = 0;
- _zstr.avail_in = 0;
- _eof = true;
- }
- }
- _zstr.next_out = (unsigned char*) buffer;
- _zstr.avail_out = static_cast<unsigned>(length);
- for (;;)
- {
- int rc = deflate(&_zstr, _eof ? Z_FINISH : Z_NO_FLUSH);
- if (_eof && rc == Z_STREAM_END)
- {
- _pIstr = 0;
- return static_cast<int>(length) - _zstr.avail_out;
- }
- if (rc != Z_OK) throw IOException(zError(rc));
- if (_zstr.avail_out == 0)
- {
- return static_cast<int>(length);
- }
- if (_zstr.avail_in == 0)
- {
- int n = 0;
- if (_pIstr->good())
- {
- _pIstr->read(_buffer, DEFLATE_BUFFER_SIZE);
- n = static_cast<int>(_pIstr->gcount());
- }
- if (n > 0)
- {
- _zstr.next_in = (unsigned char*) _buffer;
- _zstr.avail_in = n;
- }
- else
- {
- _zstr.next_in = 0;
- _zstr.avail_in = 0;
- _eof = true;
- }
- }
- }
-}
-
-
-int DeflatingStreamBuf::writeToDevice(const char* buffer, std::streamsize length)
-{
- if (length == 0 || !_pOstr) return 0;
-
- _zstr.next_in = (unsigned char*) buffer;
- _zstr.avail_in = static_cast<unsigned>(length);
- _zstr.next_out = (unsigned char*) _buffer;
- _zstr.avail_out = DEFLATE_BUFFER_SIZE;
- for (;;)
- {
- int rc = deflate(&_zstr, Z_NO_FLUSH);
- if (rc != Z_OK) throw IOException(zError(rc));
- if (_zstr.avail_out == 0)
- {
- _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE);
- if (!_pOstr->good()) throw IOException(zError(rc));
- _zstr.next_out = (unsigned char*) _buffer;
- _zstr.avail_out = DEFLATE_BUFFER_SIZE;
- }
- if (_zstr.avail_in == 0)
- {
- _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _zstr.avail_out);
- if (!_pOstr->good()) throw IOException(zError(rc));
- _zstr.next_out = (unsigned char*) _buffer;
- _zstr.avail_out = DEFLATE_BUFFER_SIZE;
- break;
- }
- }
- return static_cast<int>(length);
-}
-
-
-DeflatingIOS::DeflatingIOS(std::ostream& ostr, DeflatingStreamBuf::StreamType type, int level):
- _buf(ostr, type, level)
-{
- poco_ios_init(&_buf);
-}
-
-
-DeflatingIOS::DeflatingIOS(std::ostream& ostr, int windowBits, int level):
- _buf(ostr, windowBits, level)
-{
- poco_ios_init(&_buf);
-}
-
-
-DeflatingIOS::DeflatingIOS(std::istream& istr, DeflatingStreamBuf::StreamType type, int level):
- _buf(istr, type, level)
-{
- poco_ios_init(&_buf);
-}
-
-
-DeflatingIOS::DeflatingIOS(std::istream& istr, int windowBits, int level):
- _buf(istr, windowBits, level)
-{
- poco_ios_init(&_buf);
-}
-
-
-DeflatingIOS::~DeflatingIOS()
-{
-}
-
-
-DeflatingStreamBuf* DeflatingIOS::rdbuf()
-{
- return &_buf;
-}
-
-
-DeflatingOutputStream::DeflatingOutputStream(std::ostream& ostr, DeflatingStreamBuf::StreamType type, int level):
- std::ostream(&_buf),
- DeflatingIOS(ostr, type, level)
-{
-}
-
-
-DeflatingOutputStream::DeflatingOutputStream(std::ostream& ostr, int windowBits, int level):
- std::ostream(&_buf),
- DeflatingIOS(ostr, windowBits, level)
-{
-}
-
-
-DeflatingOutputStream::~DeflatingOutputStream()
-{
-}
-
-
-int DeflatingOutputStream::close()
-{
- return _buf.close();
-}
-
-
-int DeflatingOutputStream::sync()
-{
- return _buf.pubsync();
-}
-
-
-DeflatingInputStream::DeflatingInputStream(std::istream& istr, DeflatingStreamBuf::StreamType type, int level):
- std::istream(&_buf),
- DeflatingIOS(istr, type, level)
-{
-}
-
-
-DeflatingInputStream::DeflatingInputStream(std::istream& istr, int windowBits, int level):
- std::istream(&_buf),
- DeflatingIOS(istr, windowBits, level)
-{
-}
-
-
-DeflatingInputStream::~DeflatingInputStream()
-{
-}
-
-
-} // namespace Poco
+//
+// DeflatingStream.cpp
+//
+// Library: Foundation
+// Package: Streams
+// Module: ZLibStream
+//
+// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
+// and Contributors.
+//
+// SPDX-License-Identifier: BSL-1.0
+//
+
+
+#include "Poco/DeflatingStream.h"
+#include "Poco/Exception.h"
+
+
+namespace Poco {
+
+
+DeflatingStreamBuf::DeflatingStreamBuf(std::istream& istr, StreamType type, int level):
+ BufferedStreamBuf(STREAM_BUFFER_SIZE, std::ios::in),
+ _pIstr(&istr),
+ _pOstr(0),
+ _eof(false)
+{
+ _zstr.next_in = 0;
+ _zstr.avail_in = 0;
+ _zstr.total_in = 0;
+ _zstr.next_out = 0;
+ _zstr.avail_out = 0;
+ _zstr.total_out = 0;
+ _zstr.msg = 0;
+ _zstr.state = 0;
+ _zstr.zalloc = Z_NULL;
+ _zstr.zfree = Z_NULL;
+ _zstr.opaque = Z_NULL;
+ _zstr.data_type = 0;
+ _zstr.adler = 0;
+ _zstr.reserved = 0;
+
+ _buffer = new char[DEFLATE_BUFFER_SIZE];
+
+ int rc = deflateInit2(&_zstr, level, Z_DEFLATED, 15 + (type == STREAM_GZIP ? 16 : 0), 8, Z_DEFAULT_STRATEGY);
+ if (rc != Z_OK)
+ {
+ delete [] _buffer;
+ throw IOException(zError(rc));
+ }
+}
+
+
+DeflatingStreamBuf::DeflatingStreamBuf(std::istream& istr, int windowBits, int level):
+ BufferedStreamBuf(STREAM_BUFFER_SIZE, std::ios::in),
+ _pIstr(&istr),
+ _pOstr(0),
+ _eof(false)
+{
+ _zstr.zalloc = Z_NULL;
+ _zstr.zfree = Z_NULL;
+ _zstr.opaque = Z_NULL;
+ _zstr.next_in = 0;
+ _zstr.avail_in = 0;
+ _zstr.next_out = 0;
+ _zstr.avail_out = 0;
+
+ _buffer = new char[DEFLATE_BUFFER_SIZE];
+
+ int rc = deflateInit2(&_zstr, level, Z_DEFLATED, windowBits, 8, Z_DEFAULT_STRATEGY);
+ if (rc != Z_OK)
+ {
+ delete [] _buffer;
+ throw IOException(zError(rc));
+ }
+}
+
+
+DeflatingStreamBuf::DeflatingStreamBuf(std::ostream& ostr, StreamType type, int level):
+ BufferedStreamBuf(STREAM_BUFFER_SIZE, std::ios::out),
+ _pIstr(0),
+ _pOstr(&ostr),
+ _eof(false)
+{
+ _zstr.zalloc = Z_NULL;
+ _zstr.zfree = Z_NULL;
+ _zstr.opaque = Z_NULL;
+ _zstr.next_in = 0;
+ _zstr.avail_in = 0;
+ _zstr.next_out = 0;
+ _zstr.avail_out = 0;
+
+ _buffer = new char[DEFLATE_BUFFER_SIZE];
+
+ int rc = deflateInit2(&_zstr, level, Z_DEFLATED, 15 + (type == STREAM_GZIP ? 16 : 0), 8, Z_DEFAULT_STRATEGY);
+ if (rc != Z_OK)
+ {
+ delete [] _buffer;
+ throw IOException(zError(rc));
+ }
+}
+
+
+DeflatingStreamBuf::DeflatingStreamBuf(std::ostream& ostr, int windowBits, int level):
+ BufferedStreamBuf(STREAM_BUFFER_SIZE, std::ios::out),
+ _pIstr(0),
+ _pOstr(&ostr),
+ _eof(false)
+{
+ _zstr.zalloc = Z_NULL;
+ _zstr.zfree = Z_NULL;
+ _zstr.opaque = Z_NULL;
+ _zstr.next_in = 0;
+ _zstr.avail_in = 0;
+ _zstr.next_out = 0;
+ _zstr.avail_out = 0;
+
+ _buffer = new char[DEFLATE_BUFFER_SIZE];
+
+ int rc = deflateInit2(&_zstr, level, Z_DEFLATED, windowBits, 8, Z_DEFAULT_STRATEGY);
+ if (rc != Z_OK)
+ {
+ delete [] _buffer;
+ throw IOException(zError(rc));
+ }
+}
+
+
+DeflatingStreamBuf::~DeflatingStreamBuf()
+{
+ try
+ {
+ close();
+ }
+ catch (...)
+ {
+ }
+ delete [] _buffer;
+ deflateEnd(&_zstr);
+}
+
+
+int DeflatingStreamBuf::close()
+{
+ BufferedStreamBuf::sync();
+ _pIstr = 0;
+ if (_pOstr)
+ {
+ if (_zstr.next_out)
+ {
+ int rc = deflate(&_zstr, Z_FINISH);
+ if (rc != Z_OK && rc != Z_STREAM_END) throw IOException(zError(rc));
+ _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _zstr.avail_out);
+ if (!_pOstr->good()) throw IOException(zError(rc));
+ _zstr.next_out = (unsigned char*) _buffer;
+ _zstr.avail_out = DEFLATE_BUFFER_SIZE;
+ while (rc != Z_STREAM_END)
+ {
+ rc = deflate(&_zstr, Z_FINISH);
+ if (rc != Z_OK && rc != Z_STREAM_END) throw IOException(zError(rc));
+ _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _zstr.avail_out);
+ if (!_pOstr->good()) throw IOException(zError(rc));
+ _zstr.next_out = (unsigned char*) _buffer;
+ _zstr.avail_out = DEFLATE_BUFFER_SIZE;
+ }
+ }
+ _pOstr->flush();
+ _pOstr = 0;
+ }
+ return 0;
+}
+
+
+int DeflatingStreamBuf::sync()
+{
+ if (BufferedStreamBuf::sync())
+ return -1;
+
+ if (_pOstr)
+ {
+ if (_zstr.next_out)
+ {
+ int rc = deflate(&_zstr, Z_SYNC_FLUSH);
+ if (rc != Z_OK) throw IOException(zError(rc));
+ _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _zstr.avail_out);
+ if (!_pOstr->good()) throw IOException(zError(rc));
+ while (_zstr.avail_out == 0)
+ {
+ _zstr.next_out = (unsigned char*) _buffer;
+ _zstr.avail_out = DEFLATE_BUFFER_SIZE;
+ rc = deflate(&_zstr, Z_SYNC_FLUSH);
+ if (rc != Z_OK) throw IOException(zError(rc));
+ _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _zstr.avail_out);
+ if (!_pOstr->good()) throw IOException(zError(rc));
+ };
+ _zstr.next_out = (unsigned char*) _buffer;
+ _zstr.avail_out = DEFLATE_BUFFER_SIZE;
+ }
+ // NOTE: This breaks the Zip library and causes corruption in some files.
+ // See GH #1828
+ // _pOstr->flush();
+ }
+ return 0;
+}
+
+
+int DeflatingStreamBuf::readFromDevice(char* buffer, std::streamsize length)
+{
+ if (!_pIstr) return 0;
+ if (_zstr.avail_in == 0 && !_eof)
+ {
+ int n = 0;
+ if (_pIstr->good())
+ {
+ _pIstr->read(_buffer, DEFLATE_BUFFER_SIZE);
+ n = static_cast<int>(_pIstr->gcount());
+ }
+ if (n > 0)
+ {
+ _zstr.next_in = (unsigned char*) _buffer;
+ _zstr.avail_in = n;
+ }
+ else
+ {
+ _zstr.next_in = 0;
+ _zstr.avail_in = 0;
+ _eof = true;
+ }
+ }
+ _zstr.next_out = (unsigned char*) buffer;
+ _zstr.avail_out = static_cast<unsigned>(length);
+ for (;;)
+ {
+ int rc = deflate(&_zstr, _eof ? Z_FINISH : Z_NO_FLUSH);
+ if (_eof && rc == Z_STREAM_END)
+ {
+ _pIstr = 0;
+ return static_cast<int>(length) - _zstr.avail_out;
+ }
+ if (rc != Z_OK) throw IOException(zError(rc));
+ if (_zstr.avail_out == 0)
+ {
+ return static_cast<int>(length);
+ }
+ if (_zstr.avail_in == 0)
+ {
+ int n = 0;
+ if (_pIstr->good())
+ {
+ _pIstr->read(_buffer, DEFLATE_BUFFER_SIZE);
+ n = static_cast<int>(_pIstr->gcount());
+ }
+ if (n > 0)
+ {
+ _zstr.next_in = (unsigned char*) _buffer;
+ _zstr.avail_in = n;
+ }
+ else
+ {
+ _zstr.next_in = 0;
+ _zstr.avail_in = 0;
+ _eof = true;
+ }
+ }
+ }
+}
+
+
+int DeflatingStreamBuf::writeToDevice(const char* buffer, std::streamsize length)
+{
+ if (length == 0 || !_pOstr) return 0;
+
+ _zstr.next_in = (unsigned char*) buffer;
+ _zstr.avail_in = static_cast<unsigned>(length);
+ _zstr.next_out = (unsigned char*) _buffer;
+ _zstr.avail_out = DEFLATE_BUFFER_SIZE;
+ for (;;)
+ {
+ int rc = deflate(&_zstr, Z_NO_FLUSH);
+ if (rc != Z_OK) throw IOException(zError(rc));
+ if (_zstr.avail_out == 0)
+ {
+ _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE);
+ if (!_pOstr->good()) throw IOException(zError(rc));
+ _zstr.next_out = (unsigned char*) _buffer;
+ _zstr.avail_out = DEFLATE_BUFFER_SIZE;
+ }
+ if (_zstr.avail_in == 0)
+ {
+ _pOstr->write(_buffer, DEFLATE_BUFFER_SIZE - _zstr.avail_out);
+ if (!_pOstr->good()) throw IOException(zError(rc));
+ _zstr.next_out = (unsigned char*) _buffer;
+ _zstr.avail_out = DEFLATE_BUFFER_SIZE;
+ break;
+ }
+ }
+ return static_cast<int>(length);
+}
+
+
+DeflatingIOS::DeflatingIOS(std::ostream& ostr, DeflatingStreamBuf::StreamType type, int level):
+ _buf(ostr, type, level)
+{
+ poco_ios_init(&_buf);
+}
+
+
+DeflatingIOS::DeflatingIOS(std::ostream& ostr, int windowBits, int level):
+ _buf(ostr, windowBits, level)
+{
+ poco_ios_init(&_buf);
+}
+
+
+DeflatingIOS::DeflatingIOS(std::istream& istr, DeflatingStreamBuf::StreamType type, int level):
+ _buf(istr, type, level)
+{
+ poco_ios_init(&_buf);
+}
+
+
+DeflatingIOS::DeflatingIOS(std::istream& istr, int windowBits, int level):
+ _buf(istr, windowBits, level)
+{
+ poco_ios_init(&_buf);
+}
+
+
+DeflatingIOS::~DeflatingIOS()
+{
+}
+
+
+DeflatingStreamBuf* DeflatingIOS::rdbuf()
+{
+ return &_buf;
+}
+
+
+DeflatingOutputStream::DeflatingOutputStream(std::ostream& ostr, DeflatingStreamBuf::StreamType type, int level):
+ std::ostream(&_buf),
+ DeflatingIOS(ostr, type, level)
+{
+}
+
+
+DeflatingOutputStream::DeflatingOutputStream(std::ostream& ostr, int windowBits, int level):
+ std::ostream(&_buf),
+ DeflatingIOS(ostr, windowBits, level)
+{
+}
+
+
+DeflatingOutputStream::~DeflatingOutputStream()
+{
+}
+
+
+int DeflatingOutputStream::close()
+{
+ return _buf.close();
+}
+
+
+int DeflatingOutputStream::sync()
+{
+ return _buf.pubsync();
+}
+
+
+DeflatingInputStream::DeflatingInputStream(std::istream& istr, DeflatingStreamBuf::StreamType type, int level):
+ std::istream(&_buf),
+ DeflatingIOS(istr, type, level)
+{
+}
+
+
+DeflatingInputStream::DeflatingInputStream(std::istream& istr, int windowBits, int level):
+ std::istream(&_buf),
+ DeflatingIOS(istr, windowBits, level)
+{
+}
+
+
+DeflatingInputStream::~DeflatingInputStream()
+{
+}
+
+
+} // namespace Poco