uint32_t HashFunctions::adler32(const void *data, int size, uint32_t running_adler32/*=0*/) { uint32_t adler = running_adler32; if (adler == 0) adler = mz_adler32(0L, nullptr, 0); return mz_adler32(adler, (const unsigned char*)data, size); }
ubyte32 HashFunctions::adler32( const void *data, int size, ubyte32 running_adler32/*=0*/ ) { ubyte32 adler = running_adler32; if (adler == 0) adler = mz_adler32(0L, 0, 0); return mz_adler32(adler, (const unsigned char*)data, size); }
static int Ladler32(lua_State *L) { size_t len; const char *s = luaL_optlstring(L, 1, NULL, &len); mz_ulong init; if (!lua_isnoneornil(L, 2)) init = (mz_ulong)luaL_checkinteger(L, 2); else init = mz_adler32(0, NULL, 0); if (s == NULL) { lua_pushinteger(L, init); return 1; } lua_pushinteger(L, (lua_Integer)mz_adler32(init, (const unsigned char*)s, len)); return 1; }
static int lmz_adler32(lua_State* L) { mz_ulong adler = luaL_optint(L, 1, 0); size_t buf_len = 0; const unsigned char* ptr = (const unsigned char*)luaL_optlstring(L, 2, NULL, &buf_len); adler = mz_adler32(adler, ptr, buf_len); lua_pushinteger(L, adler); return 1; }