|
|
|
@ -211,6 +211,25 @@ static int li_lua_sha256(lua_State *L) {
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static int li_lua_path_simplify(lua_State *L) {
|
|
|
|
|
const char *s;
|
|
|
|
|
size_t len;
|
|
|
|
|
GString *str;
|
|
|
|
|
|
|
|
|
|
s = lua_tolstring(L, 1, &len);
|
|
|
|
|
if (!s) return 0;
|
|
|
|
|
|
|
|
|
|
str = g_string_new_len(s, len);
|
|
|
|
|
|
|
|
|
|
li_path_simplify(str);
|
|
|
|
|
|
|
|
|
|
lua_pushlstring(L, GSTR_LEN(str));
|
|
|
|
|
|
|
|
|
|
g_string_free(str, TRUE);
|
|
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void lua_push_constants(lua_State *L, int ndx) {
|
|
|
|
|
lua_pushinteger(L, LI_HANDLER_GO_ON);
|
|
|
|
|
lua_setfield(L, ndx, "HANDLER_GO_ON");
|
|
|
|
@ -270,6 +289,9 @@ void li_lua_init(lua_State *L, liServer *srv, liWorker *wrk) {
|
|
|
|
|
lua_pushcclosure(L, li_lua_sha256, 0);
|
|
|
|
|
lua_setfield(L, -2, "sha256");
|
|
|
|
|
|
|
|
|
|
lua_pushcclosure(L, li_lua_path_simplify, 0);
|
|
|
|
|
lua_setfield(L, -2, "path_simplify");
|
|
|
|
|
|
|
|
|
|
lua_push_constants(L, -2);
|
|
|
|
|
|
|
|
|
|
lua_setfield(L, LUA_GLOBALSINDEX, "lighty");
|
|
|
|
|