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
```
pull/579/head
chrox 10 years ago
parent dd278a4b1f
commit 709755cd9e

@ -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)

Loading…
Cancel
Save