From c031d4b6a06eab94e8d9b837ec6dc257899a4ae1 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Sun, 27 Feb 2011 01:31:22 +0100 Subject: DUALNUM: Handle integer type in FFI. --- src/lj_clib.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/lj_clib.c') diff --git a/src/lj_clib.c b/src/lj_clib.c index 98d74cde..d7721860 100644 --- a/src/lj_clib.c +++ b/src/lj_clib.c @@ -266,10 +266,10 @@ TValue *lj_clib_index(lua_State *L, CLibrary *cl, GCstr *name) if (ctype_isconstval(ct->info)) { CType *ctt = ctype_child(cts, ct); lua_assert(ctype_isinteger(ctt->info) && ctt->size <= 4); - if ((ctt->info & CTF_UNSIGNED) && ctt->size == 4) + if ((ctt->info & CTF_UNSIGNED) && (int32_t)ct->size < 0) setnumV(tv, (lua_Number)(uint32_t)ct->size); else - setnumV(tv, (lua_Number)(int32_t)ct->size); + setintV(tv, (int32_t)ct->size); } else { const char *sym = clib_extsym(cts, ct, name); void *p = clib_getsym(cl, sym); -- cgit v1.2.3-55-g6feb