commit 5cafe5af02bfe2188ba0b69f5a7a8fe44c38ed24
parent 607012ece156112f9c45620ce130699f5448db63
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Thu, 30 Dec 1999 16:26:41 -0200
tag method must be a function
Diffstat:
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/lapi.c b/lapi.c
@@ -1,5 +1,5 @@
/*
-** $Id: lapi.c,v 1.65 1999/12/23 18:19:57 roberto Exp roberto $
+** $Id: lapi.c,v 1.66 1999/12/27 17:33:22 roberto Exp roberto $
** Lua API
** See Copyright Notice in lua.h
*/
@@ -119,8 +119,12 @@ lua_Object lua_gettagmethod (lua_State *L, int tag, const char *event) {
lua_Object lua_settagmethod (lua_State *L, int tag, const char *event) {
+ TObject *method;
luaA_checkCparams(L, 1);
- luaT_settagmethod(L, tag, event, L->top-1);
+ method = L->top-1;
+ if ((ttype(method) != LUA_T_NIL) && (*lua_type(L, method) != 'f'))
+ lua_error(L, "API error - tag method must be a function or nil");
+ luaT_settagmethod(L, tag, event, method);
return luaA_putObjectOnTop(L);
}