/***************************************************************************
- * Copyright (C) 2005-2014 by the Quassel Project *
+ * Copyright (C) 2005-2015 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include <QTcpSocket>
#include <QTimer>
-#define MINIZ_HEADER_FILE_ONLY
-#include "../../3rdparty/miniz/miniz.c"
+#ifdef HAVE_ZLIB
+# include <zlib.h>
+#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!
_deflater = new z_stream;
memset(_deflater, 0, sizeof(z_stream));
if (Z_OK != deflateInit(_deflater, zlevel)) {
- qWarning() << "Could not intialize the deflate stream!";
+ qWarning() << "Could not initialize the deflate stream!";
return false;
}
_readBuffer.resize(_readBuffer.size() + ioBufferSize);
_inputBuffer.append(_socket->read(ioBufferSize - _inputBuffer.size()));
- _inflater->next_in = reinterpret_cast<const unsigned char *>(_inputBuffer.constData());
+ _inflater->next_in = reinterpret_cast<unsigned char *>(_inputBuffer.data());
_inflater->avail_in = _inputBuffer.size();
_inflater->next_out = reinterpret_cast<unsigned char *>(_readBuffer.data() + _readBuffer.size() - ioBufferSize);
_inflater->avail_out = ioBufferSize;
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<const unsigned char *>(_readBuffer.constData()));
+ _readBuffer.resize(_inflater->next_out - reinterpret_cast<unsigned char *>(_readBuffer.data()));
if (_inflater->avail_in > 0)
memmove(_inputBuffer.data(), _inflater->next_in, _inflater->avail_in);
_inputBuffer.resize(_inflater->avail_in);
return;
}
- _deflater->next_in = reinterpret_cast<const unsigned char *>(_writeBuffer.constData());
+ _deflater->next_in = reinterpret_cast<unsigned char *>(_writeBuffer.data());
_deflater->avail_in = _writeBuffer.size();
int status;
return;
}
- if (_deflater->avail_out == ioBufferSize)
+ if (_deflater->avail_out == static_cast<unsigned int>(ioBufferSize))
continue; // nothing to write here
if (!_socket->write(_outputBuffer.constData(), ioBufferSize - _deflater->avail_out)) {