diff options
| author | Tomasz Sterna <tomek@xiaoka.com> | 2015-01-05 17:19:18 +0100 |
|---|---|---|
| committer | Tomasz Sterna <tomek@xiaoka.com> | 2015-01-05 17:19:18 +0100 |
| commit | a55f8f218ea9b52e97b9b7de1ac43502ce8c9994 (patch) | |
| tree | f9574bc9c52ba0e36916298942bbf958ddda1fb8 /daemon/quazip/quacrc32.cpp | |
| parent | eac37967cc535a3ac43a712b52b4bf73b96ec19c (diff) | |
Imported QuaZIP library to daemon sources
Diffstat (limited to 'daemon/quazip/quacrc32.cpp')
| -rw-r--r-- | daemon/quazip/quacrc32.cpp | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/daemon/quazip/quacrc32.cpp b/daemon/quazip/quacrc32.cpp new file mode 100644 index 0000000..7e1c57d --- /dev/null +++ b/daemon/quazip/quacrc32.cpp @@ -0,0 +1,52 @@ +/* +Copyright (C) 2005-2014 Sergey A. Tachenov + +This file is part of QuaZIP. + +QuaZIP is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +QuaZIP is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with QuaZIP. If not, see <http://www.gnu.org/licenses/>. + +See COPYING file for the full LGPL text. + +Original ZIP package is copyrighted by Gilles Vollant and contributors, +see quazip/(un)zip.h files for details. Basically it's the zlib license. +*/ + +#include "quacrc32.h" + +#include "zlib.h" + +QuaCrc32::QuaCrc32() +{ + reset(); +} + +quint32 QuaCrc32::calculate(const QByteArray &data) +{ + return crc32( crc32(0L, Z_NULL, 0), (const Bytef*)data.data(), data.size() ); +} + +void QuaCrc32::reset() +{ + checksum = crc32(0L, Z_NULL, 0); +} + +void QuaCrc32::update(const QByteArray &buf) +{ + checksum = crc32( checksum, (const Bytef*)buf.data(), buf.size() ); +} + +quint32 QuaCrc32::value() +{ + return checksum; +} |
