Mercurial > paraspace
annotate 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 |
rev | line source |
---|---|
68 | 1 base = 65521 |
2 | |
126
ff6f869273b7
Fix wrong init value for computing checksum
Thinker K.F. Li <thinker@codemud.net>
parents:
68
diff
changeset
|
3 adler32_init_value = 1 |
ff6f869273b7
Fix wrong init value for computing checksum
Thinker K.F. Li <thinker@codemud.net>
parents:
68
diff
changeset
|
4 |
68 | 5 def adler32(adler, buf, offset, sz): |
6 sum1 = adler & 0xffff | |
7 sum2 = (adler >> 16) & 0xffff | |
8 for off in range(offset, offset + sz): | |
9 sum1 = (sum1 + ord(buf[off])) % base | |
10 sum2 = (sum2 + sum1) % base | |
11 pass | |
12 r = (sum2 << 16) | sum1 | |
13 return r | |
14 |