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 | |
| parent | c75cca0559e637e9c6ea393c55940533eaf21a8b (diff) | |
| download | lua-8c883cb4e86a6c176465c9347dfff5e0044f1c93.tar.gz lua-8c883cb4e86a6c176465c9347dfff5e0044f1c93.tar.bz2 lua-8c883cb4e86a6c176465c9347dfff5e0044f1c93.zip | |
'objlen' can return integers
| -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 */ |
