tag method must be a function

This commit is contained in:
Roberto Ierusalimschy 1999-12-30 16:27:03 -02:00
parent 607012ece1
commit 5cafe5af02

8
lapi.c
View File

@ -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);
}