Mercurial > paraspace
diff paraspace/dexfile.py @ 67:9504ad530dbf
Add DEXFile.make_checksum()
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Wed, 29 Jun 2011 19:27:09 +0800 |
parents | fa44a8acba6a |
children | 9422a25e798d |
line wrap: on
line diff
--- a/paraspace/dexfile.py Tue Jun 28 14:42:46 2011 +0800 +++ b/paraspace/dexfile.py Wed Jun 29 19:27:09 2011 +0800 @@ -1635,6 +1635,16 @@ for map_item in self.maps.items.items] children = map_items return children + + def make_checksum(self): + from paraspace.tools import adler32 + raw = self.to_str() + sz = self.header.fileSize + nosum = _DEX_header.magic.sizeof(self.header.magic) + \ + _DEX_header.checksum.sizeof(self.header.checksum) + checksum = adler32(0, raw, nosum, sz - nosum) + self.header.checksum = checksum + pass pass