summaryrefslogtreecommitdiffstats
path: root/quazip/quaadler32.cpp
diff options
context:
space:
mode:
authorAndrew <forkk@forkk.net>2013-01-25 12:35:14 -0600
committerAndrew <forkk@forkk.net>2013-01-25 12:35:14 -0600
commitf5ee069ea989a07915eb20c62ec4e812dfa9e701 (patch)
tree7d2895bf49925aa6ef7cc91caf9a01de694b2eee /quazip/quaadler32.cpp
parent3b422b54aa13be4eb59c80b1f7bb2a514aac583f (diff)
parent00893b3cfc68f12c09e84643d255044a488b0eb6 (diff)
downloadMultiMC-f5ee069ea989a07915eb20c62ec4e812dfa9e701.tar
MultiMC-f5ee069ea989a07915eb20c62ec4e812dfa9e701.tar.gz
MultiMC-f5ee069ea989a07915eb20c62ec4e812dfa9e701.tar.lz
MultiMC-f5ee069ea989a07915eb20c62ec4e812dfa9e701.tar.xz
MultiMC-f5ee069ea989a07915eb20c62ec4e812dfa9e701.zip
Merge branch 'master' of git://github.com/peterix/MultiMC5
Diffstat (limited to 'quazip/quaadler32.cpp')
-rw-r--r--quazip/quaadler32.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/quazip/quaadler32.cpp b/quazip/quaadler32.cpp
new file mode 100644
index 00000000..097899f6
--- /dev/null
+++ b/quazip/quaadler32.cpp
@@ -0,0 +1,28 @@
+#include "quaadler32.h"
+
+#include "zlib.h"
+
+QuaAdler32::QuaAdler32()
+{
+ reset();
+}
+
+quint32 QuaAdler32::calculate(const QByteArray &data)
+{
+ return adler32( adler32(0L, Z_NULL, 0), (const Bytef*)data.data(), data.size() );
+}
+
+void QuaAdler32::reset()
+{
+ checksum = adler32(0L, Z_NULL, 0);
+}
+
+void QuaAdler32::update(const QByteArray &buf)
+{
+ checksum = adler32( checksum, (const Bytef*)buf.data(), buf.size() );
+}
+
+quint32 QuaAdler32::value()
+{
+ return checksum;
+}