37 lines
929 B
C
37 lines
929 B
C
#pragma once
|
|
|
|
#include "lua.h"
|
|
#include "lauxlib.h"
|
|
#include "lualib.h"
|
|
|
|
/* Debug stuff. */
|
|
#ifdef NODEBUG
|
|
#ifdef DEBUG_PARANOID
|
|
#define LLUA_DEBUF(str, args...) \
|
|
(fprintf(stdout, "Lua: "str"\n, ## args), abort())
|
|
#else
|
|
#define LLUA_DEBUG(str, args...) \
|
|
(fprintf(stdout, "Lua: "str"\n", ## args))
|
|
#endif
|
|
|
|
#define LLUA_INVALID_PARAMETER() { \
|
|
LLUA_DEBUG("[%s] Invalid parameter (%s:%d)", __func__, __FILE__, __LINE__); \
|
|
return 0; \
|
|
}
|
|
|
|
#define LLUA_MIN_ARGS(n) \
|
|
if(lua_gettop(L) < n) { \
|
|
LLUA_DEBUG("[%s] Too few arguments (%s:%d)", __func__, __FILE__, __LINE__); \
|
|
return 0; \
|
|
}
|
|
#else /* NODEBUG. */
|
|
#define LLUA_DEBUG(str, args...) do {;} while(0)
|
|
#define LLUA_MIN_ARGS(n) do {;} while(0)
|
|
#define LLUA_INVALID_PARAMETER() do {;} while(0)
|
|
#endif /* NODEBUG. */
|
|
|
|
/* Comfortability macros. */
|
|
#define luaL_dobuffer(L, b, n, s) \
|
|
(luaL_loadbuffer(L, b, n, s) || lua_pcall(L, 0, LUA_MULTRET, 0))
|
|
|