Mercurial > paraspace
view paraspace/tools.py @ 126:ff6f869273b7
Fix wrong init value for computing checksum
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Mon, 08 Aug 2011 17:26:05 +0800 |
parents | b7432d6f7e93 |
children |
line wrap: on
line source
base = 65521 adler32_init_value = 1 def adler32(adler, buf, offset, sz): sum1 = adler & 0xffff sum2 = (adler >> 16) & 0xffff for off in range(offset, offset + sz): sum1 = (sum1 + ord(buf[off])) % base sum2 = (sum2 + sum1) % base pass r = (sum2 << 16) | sum1 return r