misc/quazip/quaadler32.cpp
author nemo
Sun, 03 Jun 2012 23:04:21 -0400
changeset 7174 80480d21e6ed
parent 5752 ea95ee97c805
permissions -rw-r--r--
Workaround for bug #144. This workaround had occurred to me a while ago, but wasn't sure if placing them unfairly was better than not placing them at all. Argument for not placing at all is people should probably abort the game when they notice it. Argument for placing unfairly is people can still abort, and if we really wanted them to abort, we should probably just have halted launch if all hogs failed to spawn. This way at least play can continue.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5752
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     1
#include "quaadler32.h"
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     2
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     3
#include "zlib.h"
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     4
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     5
QuaAdler32::QuaAdler32()
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     6
{
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     7
	reset();
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     8
}
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     9
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    10
quint32 QuaAdler32::calculate(const QByteArray &data)
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    11
{
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    12
	return adler32( adler32(0L, Z_NULL, 0), (const Bytef*)data.data(), data.size() );
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    13
}
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    14
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    15
void QuaAdler32::reset()
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    16
{
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    17
	checksum = adler32(0L, Z_NULL, 0);
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    18
}
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    19
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    20
void QuaAdler32::update(const QByteArray &buf)
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    21
{
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    22
	checksum = adler32( checksum, (const Bytef*)buf.data(), buf.size() );
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    23
}
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    24
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    25
quint32 QuaAdler32::value()
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    26
{
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    27
	return checksum;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    28
}