diff -r 6bbf7aee2cdf -r ea95ee97c805 misc/quazip/quacrc32.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/misc/quazip/quacrc32.cpp Sun Sep 04 10:58:42 2011 +0400 @@ -0,0 +1,28 @@ +#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; +}