X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fcompressor.cpp;h=f391a43bac3f1c29e193a92e8b54834101a8aae5;hp=d2634e481e3d92241a0e59d5a514520c2a47ee8c;hb=4a82836fd9c03eb930e934e8839d560694145b6c;hpb=bdb3b8a3086fcd871d2a099fa4a40376f4040e6e;ds=sidebyside diff --git a/src/common/compressor.cpp b/src/common/compressor.cpp index d2634e48..f391a43b 100644 --- a/src/common/compressor.cpp +++ b/src/common/compressor.cpp @@ -23,8 +23,12 @@ #include #include -#define MINIZ_HEADER_FILE_ONLY -#include "../../3rdparty/miniz/miniz.c" +#ifdef HAVE_ZLIB +# include +#else +# define MINIZ_HEADER_FILE_ONLY +# include "../../3rdparty/miniz/miniz.c" +#endif const int maxBufferSize = 64 * 1024 * 1024; // protect us from zip bombs const int ioBufferSize = 64 * 1024; // chunk size for inflate/deflate; should not be too large as we preallocate that space! @@ -176,7 +180,7 @@ void Compressor::readData() _readBuffer.resize(_readBuffer.size() + ioBufferSize); _inputBuffer.append(_socket->read(ioBufferSize - _inputBuffer.size())); - _inflater->next_in = reinterpret_cast(_inputBuffer.constData()); + _inflater->next_in = reinterpret_cast(_inputBuffer.data()); _inflater->avail_in = _inputBuffer.size(); _inflater->next_out = reinterpret_cast(_readBuffer.data() + _readBuffer.size() - ioBufferSize); _inflater->avail_out = ioBufferSize; @@ -186,7 +190,7 @@ void Compressor::readData() int status = inflate(_inflater, Z_SYNC_FLUSH); // get as much data as possible // adjust input and output buffers - _readBuffer.resize(_inflater->next_out - reinterpret_cast(_readBuffer.constData())); + _readBuffer.resize(_inflater->next_out - reinterpret_cast(_readBuffer.data())); if (_inflater->avail_in > 0) memmove(_inputBuffer.data(), _inflater->next_in, _inflater->avail_in); _inputBuffer.resize(_inflater->avail_in); @@ -225,7 +229,7 @@ void Compressor::writeData() return; } - _deflater->next_in = reinterpret_cast(_writeBuffer.constData()); + _deflater->next_in = reinterpret_cast(_writeBuffer.data()); _deflater->avail_in = _writeBuffer.size(); int status; @@ -239,7 +243,7 @@ void Compressor::writeData() return; } - if (_deflater->avail_out == ioBufferSize) + if (_deflater->avail_out == static_cast(ioBufferSize)) continue; // nothing to write here if (!_socket->write(_outputBuffer.constData(), ioBufferSize - _deflater->avail_out)) {