From: Tim Duesterhus Date: Sun, 12 Jan 2020 12:55:39 +0000 (+0100) Subject: MINOR: lua: Add hlua_prepend_path function X-Git-Tag: v2.2-dev2~83 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9fc9f2836f1e56eef3eaf690421eeff34dd8a2b;p=thirdparty%2Fhaproxy.git MINOR: lua: Add hlua_prepend_path function This function is added in preparation for following patches. --- diff --git a/src/hlua.c b/src/hlua.c index 900bad71b7..0d943fb620 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 },