On Sun, Mar 6, 2011 at 10:32 PM, Sylvain Fabre
<sylvain.fabre@inpixal.com> wrote:
I try to send a 32 bits uint32_t value from LUA to C (ie in fact a
0xRRGGBBAA pattern) and i am facing the following issue :
- If i do a 0xFF0000FF -> I get the value 0x80000000 with
luaL_checkinteger()
- If i do not set the MSB (ie 0x7F0000FF for example) -> I
get the correct value with luaL_checkinteger()
I guess it has something to do with sign conversion, but i do not
know if it is a bug or a normal behavior with luaJIT.
Any hint or idea ?
0xFF0000FF does not fit in a lua_Integer. Use luaL_checknumber and convert to an unsigned int or similar yourself.
/Erik