mirror of https://github.com/libAthena/athena.git
add optional mask parameter to crc32
This commit is contained in:
parent
d9b7151487
commit
7464c8e5eb
|
@ -7,7 +7,7 @@ namespace Athena
|
|||
{
|
||||
namespace Checksums
|
||||
{
|
||||
atUint32 crc32(const atUint8* data, atUint64 length, atUint32 seed = 0xFFFFFFFF);
|
||||
atUint32 crc32(const atUint8* data, atUint64 length, atUint32 mask = 0xFFFFFFFF, atUint32 seed = 0xFFFFFFFF);
|
||||
atUint16 crc16CCITT(const atUint8* data, atUint64 length, atUint16 seed = 0xFFFF, atUint16 final = 0);
|
||||
atUint16 crc16(const atUint8* data, atUint64 length);
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ namespace Athena
|
|||
namespace Checksums
|
||||
{
|
||||
|
||||
atUint32 crc32(const atUint8* data, atUint64 length, atUint32 seed)
|
||||
atUint32 crc32(const atUint8* data, atUint64 length, atUint32 mask, atUint32 seed)
|
||||
{
|
||||
static const atUint32 crc32Table[256] =
|
||||
{
|
||||
|
@ -55,7 +55,7 @@ atUint32 crc32(const atUint8* data, atUint64 length, atUint32 seed)
|
|||
while (length--)
|
||||
checksum = (checksum >> 8) ^ crc32Table[(checksum & 0xFF) ^ data[pos++]];
|
||||
|
||||
return checksum ^ seed;
|
||||
return checksum ^ mask;
|
||||
}
|
||||
|
||||
atUint16 crc16CCITT(const atUint8* data, atUint64 length, atUint16 seed, atUint16 final)
|
||||
|
|
Loading…
Reference in New Issue