summaryrefslogtreecommitdiffstats
path: root/quazip/quacrc32.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2013-01-11 02:25:40 +0100
committerPetr Mrázek <peterix@gmail.com>2013-01-11 02:25:40 +0100
commitb1d00fce8da901b31fa52ea59b4bc3c8edb9d9cc (patch)
treef7c909b4080e6d1868e601609741450330dc9a1e /quazip/quacrc32.cpp
parentd6d5c86a736537828a59ddc6389d5d0490942f8c (diff)
downloadMultiMC-b1d00fce8da901b31fa52ea59b4bc3c8edb9d9cc.tar
MultiMC-b1d00fce8da901b31fa52ea59b4bc3c8edb9d9cc.tar.gz
MultiMC-b1d00fce8da901b31fa52ea59b4bc3c8edb9d9cc.tar.lz
MultiMC-b1d00fce8da901b31fa52ea59b4bc3c8edb9d9cc.tar.xz
MultiMC-b1d00fce8da901b31fa52ea59b4bc3c8edb9d9cc.zip
CMake build system, big pile of libs: bspatch, quazip, java, the launcher
Diffstat (limited to 'quazip/quacrc32.cpp')
-rw-r--r--quazip/quacrc32.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/quazip/quacrc32.cpp b/quazip/quacrc32.cpp
new file mode 100644
index 00000000..9381f24c
--- /dev/null
+++ b/quazip/quacrc32.cpp
@@ -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;
+}