Hi Jared
here is a Clarion version that I did for someone on the newsgroups a few years ago.
it should be compatible with other languages etc and is very fast:
VitCRC PROCEDURE (*STRING pStr)
i long,auto
crc ulong,auto
CODE
if ~address(pStr) then return 0. ! just in case
crc = 0FFFFFFFFh
loop i = 1 to size(pStr)
crc = BXOR(crc,Val(pStr[i]))
loop 8 TIMES
crc = BXOR(BSHIFT(crc, -1), BAND(0EDB88320h, -(BAND(crc,1))))
end
end
return BXOR(crc,0FFFFFFFFh)
cheers
Geoff R