# File lib/rhc/vendor/zliby.rb, line 18 def self.adler32 string="", adler=1 if adler > (2**128) - 1 then raise RangeError.new end accum1 = adler & 0xffff accum2 = (adler >> 16) & 0xffff len = string.length x = -1 while len > 0 tlen = len > 5552 ? 5552 : len len -= tlen while tlen >0 x += 1 accum1 += string[x] accum2 += accum1 tlen -= 1 end accum1 %= 65521 accum2 %= 65521 end accum2 << 16 | accum1 end