From 5cafe5af02bfe2188ba0b69f5a7a8fe44c38ed24 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Thu, 30 Dec 1999 16:27:03 -0200 Subject: [PATCH] tag method must be a function --- lapi.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lapi.c b/lapi.c index 75e1c656..8f67b3cd 100644 --- 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); }