aboutsummaryrefslogtreecommitdiff
path: root/lapi.c
diff options
context:
space:
mode:
Diffstat (limited to 'lapi.c')
-rw-r--r--lapi.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/lapi.c b/lapi.c
index 0c88751a..55e371dc 100644
--- a/lapi.c
+++ b/lapi.c
@@ -440,7 +440,13 @@ LUA_API lua_Unsigned lua_rawlen (lua_State *L, int idx) {
440 case LUA_VSHRSTR: return cast(lua_Unsigned, tsvalue(o)->shrlen); 440 case LUA_VSHRSTR: return cast(lua_Unsigned, tsvalue(o)->shrlen);
441 case LUA_VLNGSTR: return cast(lua_Unsigned, tsvalue(o)->u.lnglen); 441 case LUA_VLNGSTR: return cast(lua_Unsigned, tsvalue(o)->u.lnglen);
442 case LUA_VUSERDATA: return cast(lua_Unsigned, uvalue(o)->len); 442 case LUA_VUSERDATA: return cast(lua_Unsigned, uvalue(o)->len);
443 case LUA_VTABLE: return luaH_getn(L, hvalue(o)); 443 case LUA_VTABLE: {
444 lua_Unsigned res;
445 lua_lock(L);
446 res = luaH_getn(L, hvalue(o));
447 lua_unlock(L);
448 return res;
449 }
444 default: return 0; 450 default: return 0;
445 } 451 }
446} 452}