tests: Convert ExpressionMatchTests into a GTest-based test case
[quassel.git] / src / common / compressor.cpp
index d2634e4..816f26c 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2014 by the Quassel Project                        *
+ *   Copyright (C) 2005-2018 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -23,9 +23,6 @@
 #include <QTcpSocket>
 #include <QTimer>
 
-#define MINIZ_HEADER_FILE_ONLY
-#include "../../3rdparty/miniz/miniz.c"
-
 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!
 
@@ -33,10 +30,10 @@ Compressor::Compressor(QTcpSocket *socket, Compressor::CompressionLevel level, Q
     : QObject(parent),
     _socket(socket),
     _level(level),
-    _inflater(0),
-    _deflater(0)
+    _inflater(nullptr),
+    _deflater(nullptr)
 {
-    connect(socket, SIGNAL(readyRead()), SLOT(readData()));
+    connect(socket, &QIODevice::readyRead, this, &Compressor::readData);
 
     bool ok = true;
     if (level != NoCompression)
@@ -44,14 +41,14 @@ Compressor::Compressor(QTcpSocket *socket, Compressor::CompressionLevel level, Q
 
     if (!ok) {
         // something went wrong during initialization... but we can only emit an error after RemotePeer has connected its signal
-        QTimer::singleShot(0, this, SIGNAL(error()));
+        QTimer::singleShot(0, this, [this]() { emit error(); });
         return;
     }
 
     // It's possible that more data has already arrived during the handshake, so readyRead() wouldn't be triggered.
     // However, we want to give RemotePeer a chance to connect to our signals, so trigger this asynchronously.
     if (socket->bytesAvailable())
-        QTimer::singleShot(0, this, SLOT(readData()));
+        QTimer::singleShot(0, this, &Compressor::readData);
 }
 
 
@@ -93,7 +90,7 @@ bool Compressor::initStreams()
     _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;
     }
 
@@ -129,7 +126,7 @@ qint64 Compressor::read(char *data, qint64 maxSize)
 
     // If there's still data left in the socket buffer, make sure to schedule a read
     if (_socket->bytesAvailable())
-        QTimer::singleShot(0, this, SLOT(readData()));
+        QTimer::singleShot(0, this, &Compressor::readData);
 
     return n;
 }
@@ -176,7 +173,7 @@ void Compressor::readData()
         _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;
@@ -186,7 +183,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<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);
@@ -225,7 +222,7 @@ void Compressor::writeData()
         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;
@@ -239,7 +236,7 @@ void Compressor::writeData()
             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)) {