aboutsummaryrefslogtreecommitdiff
path: root/src/lib_base.c
diff options
context:
space:
mode:
authorMike Pall <mike>2012-09-24 17:33:32 +0200
committerMike Pall <mike>2012-09-24 17:33:32 +0200
commitca0bb4881f17838c9d84f0df310aa1d44da9298d (patch)
tree6429dabaa8674839701050ab7655833675a54b0d /src/lib_base.c
parent4c7c2c831992c836cbdfd0bbad1dcc26fbd007cc (diff)
downloadluajit-ca0bb4881f17838c9d84f0df310aa1d44da9298d.tar.gz
luajit-ca0bb4881f17838c9d84f0df310aa1d44da9298d.tar.bz2
luajit-ca0bb4881f17838c9d84f0df310aa1d44da9298d.zip
From Lua 5.2: Add rawlen(). Needs -DLUAJIT_ENABLE_LUA52COMPAT.
Diffstat (limited to 'src/lib_base.c')
-rw-r--r--src/lib_base.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lib_base.c b/src/lib_base.c
index d63c9803..6f664eb6 100644
--- a/src/lib_base.c
+++ b/src/lib_base.c
@@ -199,6 +199,20 @@ LJLIB_CF(rawequal) LJLIB_REC(.)
199 return 1; 199 return 1;
200} 200}
201 201
202#if LJ_52
203LJLIB_CF(rawlen) LJLIB_REC(.)
204{
205 cTValue *o = L->base;
206 int32_t len;
207 if (L->top > o && tvisstr(o))
208 len = (int32_t)strV(o)->len;
209 else
210 len = (int32_t)lj_tab_len(lj_lib_checktab(L, 1));
211 setintV(L->top-1, len);
212 return 1;
213}
214#endif
215
202LJLIB_CF(unpack) 216LJLIB_CF(unpack)
203{ 217{
204 GCtab *t = lj_lib_checktab(L, 1); 218 GCtab *t = lj_lib_checktab(L, 1);