diff --git a/include/proto/hlua_fcn.h b/include/proto/hlua_fcn.h index e4ce5f091..291bd428c 100644 --- a/include/proto/hlua_fcn.h +++ b/include/proto/hlua_fcn.h @@ -1,6 +1,8 @@ #ifndef _PROTO_HLUA_FCN_H #define _PROTO_HLUA_FCN_H +int hlua_checkboolean(lua_State *L, int index); + void hlua_class_const_int(lua_State *L, const char *name, int value); void hlua_class_const_str(lua_State *L, const char *name, const char *value); void hlua_class_function(lua_State *L, const char *name, int (*function)(lua_State *L)); diff --git a/src/hlua_fcn.c b/src/hlua_fcn.c index 3af4f6e20..cff1e3af9 100644 --- a/src/hlua_fcn.c +++ b/src/hlua_fcn.c @@ -41,6 +41,13 @@ static int class_listener_ref; static struct field stats[STATS_LEN]; +int hlua_checkboolean(lua_State *L, int index) +{ + if (!lua_isboolean(L, index)) + luaL_argerror(L, index, "boolean expected"); + return lua_toboolean(L, index); +} + /* This function gets a struct field and convert it in Lua * variable. The variable is pushed at the top of the stak. */