mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-03-01 00:50:53 +00:00
MINOR: lua: Add a function to get a reference on a table in the stack
The hlua_checktable() function may now be used to create and return a reference on a table in stack, given its position. This function ensures it is really a table and throws an exception if not. This patch is mandatory to allow the support of the filters written in lua.
This commit is contained in:
parent
03fb1b26f7
commit
ba9e21dc68
14
src/hlua.c
14
src/hlua.c
@ -350,6 +350,20 @@ __LJMP unsigned int hlua_checkfunction(lua_State *L, int argno)
|
||||
return luaL_ref(L, LUA_REGISTRYINDEX);
|
||||
}
|
||||
|
||||
/* Used to check an Lua table type in the stack. It creates and
|
||||
* returns a reference of the table. This function throws an
|
||||
* error if the rgument is not a "table".
|
||||
*/
|
||||
__LJMP unsigned int hlua_checktable(lua_State *L, int argno)
|
||||
{
|
||||
if (!lua_istable(L, argno)) {
|
||||
const char *msg = lua_pushfstring(L, "table expected, got %s", luaL_typename(L, argno));
|
||||
WILL_LJMP(luaL_argerror(L, argno, msg));
|
||||
}
|
||||
lua_pushvalue(L, argno);
|
||||
return luaL_ref(L, LUA_REGISTRYINDEX);
|
||||
}
|
||||
|
||||
/* Return the string that is of the top of the stack. */
|
||||
const char *hlua_get_top_error_string(lua_State *L)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user