From 630bdaa876991d1aecab8de59f3b706335d3d463 Mon Sep 17 00:00:00 2001 From: toaster Date: Thu, 24 Oct 2019 21:14:51 +0100 Subject: [PATCH] Move INLEVEL macros for mobj_get and mobj_set to prevent mixed code/declaration errors. --- src/lua_mobjlib.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lua_mobjlib.c b/src/lua_mobjlib.c index 2cb9dc329..30026da49 100644 --- a/src/lua_mobjlib.c +++ b/src/lua_mobjlib.c @@ -160,11 +160,12 @@ static const char *const mobj_opt[] = { static int mobj_get(lua_State *L) { - INLEVEL mobj_t *mo = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ)); enum mobj_e field = Lua_optoption(L, 2, NULL, mobj_opt); lua_settop(L, 2); + INLEVEL + if (!mo) { if (field == mobj_valid) { lua_pushboolean(L, 0); @@ -406,11 +407,12 @@ static int mobj_get(lua_State *L) #define NOSETPOS luaL_error(L, LUA_QL("mobj_t") " field " LUA_QS " should not be set directly. Use " LUA_QL("P_Move") ", " LUA_QL("P_TryMove") ", or " LUA_QL("P_TeleportMove") " instead.", mobj_opt[field]) static int mobj_set(lua_State *L) { - INLEVEL mobj_t *mo = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ)); enum mobj_e field = Lua_optoption(L, 2, mobj_opt[0], mobj_opt); lua_settop(L, 3); + INLEVEL + if (!mo) return LUA_ErrInvalid(L, "mobj_t");