From Lua 5.2: Add rawlen(). Needs -DLUAJIT_ENABLE_LUA52COMPAT.

This commit is contained in:
Mike Pall
2012-09-24 17:33:32 +02:00
parent 4c7c2c8319
commit ca0bb4881f
2 changed files with 27 additions and 0 deletions

View File

@@ -199,6 +199,20 @@ LJLIB_CF(rawequal) LJLIB_REC(.)
return 1;
}
#if LJ_52
LJLIB_CF(rawlen) LJLIB_REC(.)
{
cTValue *o = L->base;
int32_t len;
if (L->top > o && tvisstr(o))
len = (int32_t)strV(o)->len;
else
len = (int32_t)lj_tab_len(lj_lib_checktab(L, 1));
setintV(L->top-1, len);
return 1;
}
#endif
LJLIB_CF(unpack)
{
GCtab *t = lj_lib_checktab(L, 1);