Software /
code /
prosody
File
util-src/compat.c @ 11304:c022b582d312
util.startup: Don't create installer plugin path (as root)
Since this runs before dropping root, the directory ends up being owned
by root, resulting in luarocks failing to install anything, since by
then it would be running as the prosody user.
luarocks creates this directory if needed, so creating it during startup
is not necessary.
One potential issue is if the directory is somewhere where Prosody can't
write, but then you will simply have to create it yourself with the
appropriate permissions.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 24 Jan 2021 15:57:48 +0100 |
parent | 9561:cfc7b2f7251e |
child | 12976:a187600ec7d6 |
line wrap: on
line source
#include <lua.h> #include <lauxlib.h> static int lc_xpcall (lua_State *L) { int ret; int n_arg = lua_gettop(L); /* f, msgh, p1, p2... */ luaL_argcheck(L, n_arg >= 2, 2, "value expected"); lua_pushvalue(L, 1); /* f to top */ lua_pushvalue(L, 2); /* msgh to top */ lua_replace(L, 1); /* msgh to 1 */ lua_replace(L, 2); /* f to 2 */ /* msgh, f, p1, p2... */ ret = lua_pcall(L, n_arg - 2, LUA_MULTRET, 1); lua_pushboolean(L, ret == 0); lua_replace(L, 1); return lua_gettop(L); } int luaopen_util_compat(lua_State *L) { lua_createtable(L, 0, 2); { lua_pushcfunction(L, lc_xpcall); lua_setfield(L, -2, "xpcall"); } return 1; }