std.zlib.crc32 and std.zlib.adler32 64-bit underflow

When getting a crc32 or a adler32 of over 2^^32 bytes of data, it would underflow because it would cast a size_t (buf.length) to a uint.