diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2011-01-07 10:41:48 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2011-01-07 10:41:48 -0200 |
commit | 511679313f2c380ef86527e638663bf562083289 (patch) | |
tree | 85014f989cd7524997cc879b75b70797842d2131 | |
parent | 868ff40339fc72b7bf3c916afcdc2a992398346c (diff) | |
download | lua-511679313f2c380ef86527e638663bf562083289.tar.gz lua-511679313f2c380ef86527e638663bf562083289.tar.bz2 lua-511679313f2c380ef86527e638663bf562083289.zip |
new function 'rawlen'
-rw-r--r-- | lbaselib.c | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lbaselib.c,v 1.256 2010/12/17 15:14:58 roberto Exp roberto $ | 2 | ** $Id: lbaselib.c,v 1.257 2010/12/27 18:00:38 roberto Exp roberto $ |
3 | ** Basic library | 3 | ** Basic library |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -133,6 +133,15 @@ static int luaB_rawequal (lua_State *L) { | |||
133 | } | 133 | } |
134 | 134 | ||
135 | 135 | ||
136 | static int luaB_rawlen (lua_State *L) { | ||
137 | int t = lua_type(L, 1); | ||
138 | luaL_argcheck(L, t == LUA_TTABLE || t == LUA_TSTRING, 1, | ||
139 | "table or string expected"); | ||
140 | lua_pushinteger(L, lua_rawlen(L, 1)); | ||
141 | return 1; | ||
142 | } | ||
143 | |||
144 | |||
136 | static int luaB_rawget (lua_State *L) { | 145 | static int luaB_rawget (lua_State *L) { |
137 | luaL_checktype(L, 1, LUA_TTABLE); | 146 | luaL_checktype(L, 1, LUA_TTABLE); |
138 | luaL_checkany(L, 2); | 147 | luaL_checkany(L, 2); |
@@ -447,6 +456,7 @@ static const luaL_Reg base_funcs[] = { | |||
447 | {"pcall", luaB_pcall}, | 456 | {"pcall", luaB_pcall}, |
448 | {"print", luaB_print}, | 457 | {"print", luaB_print}, |
449 | {"rawequal", luaB_rawequal}, | 458 | {"rawequal", luaB_rawequal}, |
459 | {"rawlen", luaB_rawlen}, | ||
450 | {"rawget", luaB_rawget}, | 460 | {"rawget", luaB_rawget}, |
451 | {"rawset", luaB_rawset}, | 461 | {"rawset", luaB_rawset}, |
452 | {"select", luaB_select}, | 462 | {"select", luaB_select}, |