mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
fix ffi.cast to uint32_t in ARM
I don't know if it's a bug in luajit but on an x86_64 CPU:
```lua
> = ffi.cast("uint32_t", 0xFFFFFFFFE) + 0
4294967294LL
```
while on an ARM CPU:
```lua
> = ffi.cast("uint32_t", 0xFFFFFFFFE) + 0
4294967295LL
```
This commit is contained in:
@@ -132,10 +132,10 @@ function MD5Transform(buf, input)
|
||||
c = MD5STEP(F4, c, d, a, b, input[2] + 0x2ad7d2bb, 15);
|
||||
b = MD5STEP(F4, b, c, d, a, input[9] + 0xeb86d391, 21);
|
||||
|
||||
buf[0] = (buf[0] + a)%0xffffffff;
|
||||
buf[1] = (buf[1] + b)%0xffffffff;
|
||||
buf[2] = (buf[2] + c)%0xffffffff;
|
||||
buf[3] = (buf[3] + d)%0xffffffff;
|
||||
buf[0] = band(buf[0] + a, 0xFFFFFFFF);
|
||||
buf[1] = band(buf[1] + b, 0xFFFFFFFF);
|
||||
buf[2] = band(buf[2] + c, 0xFFFFFFFF);
|
||||
buf[3] = band(buf[3] + d, 0xFFFFFFFF);
|
||||
end
|
||||
|
||||
function MD5Update(ctx, buf, len)
|
||||
|
||||
Reference in New Issue
Block a user