MCPcopy Create free account
hub / github.com/KebsCS/KBotExt / stb_adler32

Function stb_adler32

KBotExt/imgui/imgui_draw.cpp:4060–4089  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4058}
4059
4060static unsigned int stb_adler32(unsigned int adler32, unsigned char* buffer, unsigned int buflen)
4061{
4062 const unsigned long ADLER_MOD = 65521;
4063 unsigned long s1 = adler32 & 0xffff, s2 = adler32 >> 16;
4064 unsigned long blocklen = buflen % 5552;
4065
4066 unsigned long i;
4067 while (buflen) {
4068 for (i = 0; i + 7 < blocklen; i += 8) {
4069 s1 += buffer[0], s2 += s1;
4070 s1 += buffer[1], s2 += s1;
4071 s1 += buffer[2], s2 += s1;
4072 s1 += buffer[3], s2 += s1;
4073 s1 += buffer[4], s2 += s1;
4074 s1 += buffer[5], s2 += s1;
4075 s1 += buffer[6], s2 += s1;
4076 s1 += buffer[7], s2 += s1;
4077
4078 buffer += 8;
4079 }
4080
4081 for (; i < blocklen; ++i)
4082 s1 += *buffer++, s2 += s1;
4083
4084 s1 %= ADLER_MOD, s2 %= ADLER_MOD;
4085 buflen -= blocklen;
4086 blocklen = 5552;
4087 }
4088 return (unsigned int)(s2 << 16) + (unsigned int)s1;
4089}
4090
4091static unsigned int stb_decompress(unsigned char* output, const unsigned char* i, unsigned int /*length*/)
4092{

Callers 1

stb_decompressFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected