diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2013-05-26 11:47:51 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2013-05-26 11:47:51 -0300 |
commit | 8c883cb4e86a6c176465c9347dfff5e0044f1c93 (patch) | |
tree | 1bbb8dc2b7b66407fc01046010e0b2a93951394b /lvm.c | |
parent | c75cca0559e637e9c6ea393c55940533eaf21a8b (diff) | |
download | lua-8c883cb4e86a6c176465c9347dfff5e0044f1c93.tar.gz lua-8c883cb4e86a6c176465c9347dfff5e0044f1c93.tar.bz2 lua-8c883cb4e86a6c176465c9347dfff5e0044f1c93.zip |
'objlen' can return integers
Diffstat (limited to 'lvm.c')
-rw-r--r-- | lvm.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lvm.c,v 2.168 2013/05/02 12:31:26 roberto Exp roberto $ | 2 | ** $Id: lvm.c,v 2.169 2013/05/06 17:17:09 roberto Exp roberto $ |
3 | ** Lua virtual machine | 3 | ** Lua virtual machine |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -292,11 +292,11 @@ void luaV_objlen (lua_State *L, StkId ra, const TValue *rb) { | |||
292 | Table *h = hvalue(rb); | 292 | Table *h = hvalue(rb); |
293 | tm = fasttm(L, h->metatable, TM_LEN); | 293 | tm = fasttm(L, h->metatable, TM_LEN); |
294 | if (tm) break; /* metamethod? break switch to call it */ | 294 | if (tm) break; /* metamethod? break switch to call it */ |
295 | setnvalue(ra, cast_num(luaH_getn(h))); /* else primitive len */ | 295 | setivalue(ra, luaH_getn(h)); /* else primitive len */ |
296 | return; | 296 | return; |
297 | } | 297 | } |
298 | case LUA_TSTRING: { | 298 | case LUA_TSTRING: { |
299 | setnvalue(ra, cast_num(tsvalue(rb)->len)); | 299 | setivalue(ra, tsvalue(rb)->len); |
300 | return; | 300 | return; |
301 | } | 301 | } |
302 | default: { /* try metamethod */ | 302 | default: { /* try metamethod */ |