Blob Blame History Raw
diff -up haproxy-2.2.0/src/hlua.c.lua54 haproxy-2.2.0/src/hlua.c
--- haproxy-2.2.0/src/hlua.c.lua54	2020-07-07 10:33:14.000000000 -0400
+++ haproxy-2.2.0/src/hlua.c	2020-07-10 15:21:50.415030526 -0400
@@ -1069,6 +1069,9 @@ void hlua_hook(lua_State *L, lua_Debug *
  */
 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;
@@ -1100,7 +1103,11 @@ resume_execution:
 	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:
@@ -7844,10 +7851,12 @@ static int hlua_load(char **args, int se
 		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);