Software /
code /
prosody
File
util-src/compat.c @ 13684:026a75a443de 13.0
mod_admin_shell: Hide secondary role commands, focus on primary roles
Secondary roles are an advanced feature without any strong use cases
currently. Having multiple ways to manage roles is confusing.
Now the 'user:role' command will just show the primary role if that is all
there is, but will list secondary roles too if there are any (which in 99.9%
of cases there won't be).
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 13 Feb 2025 16:18:59 +0000 |
parent | 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_prosody_util_compat(lua_State *L) { lua_createtable(L, 0, 2); { lua_pushcfunction(L, lc_xpcall); lua_setfield(L, -2, "xpcall"); } return 1; } int luaopen_util_compat(lua_State *L) { return luaopen_prosody_util_compat(L); }