*/
static enum hlua_exec hlua_ctx_resume(struct hlua *lua, int yield_allowed)
{
+#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM >= 504
+ int nres;
+#endif
int ret;
const char *msg;
const char *trace;
lua->wake_time = TICK_ETERNITY;
/* Call the function. */
+#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM >= 504
+ ret = lua_resume(lua->T, gL.T, lua->nargs, &nres);
+#else
ret = lua_resume(lua->T, gL.T, lua->nargs);
+#endif
switch (ret) {
case LUA_OK:
memprintf(err, "Lua message handler error: %s\n", lua_tostring(gL.T, -1));
lua_pop(gL.T, 1);
return -1;
+#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM <= 503
case LUA_ERRGCMM:
memprintf(err, "Lua garbage collector error: %s\n", lua_tostring(gL.T, -1));
lua_pop(gL.T, 1);
return -1;
+#endif
default:
memprintf(err, "Lua unknown error: %s\n", lua_tostring(gL.T, -1));
lua_pop(gL.T, 1);