crc32 is uint32_t, not unsigned long