commit ed5d6a9f3c2a1cf9e0408c438c76c0643df9d6a5 Author: Tim Duesterhus Date: Sun Jan 12 13:55:39 2020 +0100 MINOR: lua: Add hlua_prepend_path function This function is added in preparation for following patches. (cherry picked from commit c9fc9f2836f1e56eef3eaf690421eeff34dd8a2b) Signed-off-by: Willy Tarreau diff --git a/src/hlua.c b/src/hlua.c index 37f786687..10d615211 100644 --- a/src/hlua.c +++ b/src/hlua.c @@ -7458,6 +7458,22 @@ static int hlua_load(char **args, int section_type, struct proxy *curpx, return 0; } +/* Prepend the given followed by a semicolon to the `package.` variable + * in the given . + */ +static int hlua_prepend_path(struct hlua ctx, char *type, char *path) +{ + lua_getglobal(ctx.T, "package"); /* push package variable */ + lua_pushstring(ctx.T, path); /* push given path */ + lua_pushstring(ctx.T, ";"); /* push semicolon */ + lua_getfield(ctx.T, -3, type); /* push old path */ + lua_concat(ctx.T, 3); /* concatenate to new path */ + lua_setfield(ctx.T, -2, type); /* store new path */ + lua_pop(ctx.T, 1); /* pop package variable */ + + return 0; +} + /* configuration keywords declaration */ static struct cfg_kw_list cfg_kws = {{ },{ { CFG_GLOBAL, "lua-load", hlua_load },