/* crc input is CRC32_INIT_VALUE for a fresh start, or previous return value if accumulating over multiple pieces.  */
uint32 hndcrc32(uint8 *pdata, uint nbytes, uint32 crc)
/* crc input is CRC32_INIT_VALUE for a fresh start, or previous return value if accumulating over multiple pieces.  */
uint32 hndcrc32(uint8 *pdata, uint nbytes, uint32 crc)
{
	uint8 *pend;
	pend = pdata + nbytes;
	while (pdata < pend)
		CRC_INNER_LOOP(32, crc, *pdata++);
	return crc;
}