misc/quazip/quacrc32.cpp
author nemo
Fri, 30 Sep 2011 22:33:28 -0400
changeset 6077 d8fa5a85d24f
parent 5752 ea95ee97c805
permissions -rw-r--r--
This prevents girders from erasing landbacktex (square windows in tunnels and such), at the cost of requiring lfBasic and lfObject to be treated the same apart from graphically
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5752
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     1
#include "quacrc32.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
QuaCrc32::QuaCrc32()
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 QuaCrc32::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 crc32( crc32(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 QuaCrc32::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 = crc32(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 QuaCrc32::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 = crc32( 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 QuaCrc32::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
}