Software /
code /
prosody
File
util-src/time.c @ 10698:e4034f6668a5
MUC: Add ad-hoc command setting affiliation in a room (fixes #1174)
This gives service admins a way to set an arbitrary affiliation in any
room. Enables various administrative use cases such as room ownership
reassignment or recovery.
Reduces the need for the admins-as-owners feature, as this can be used
by admins to make themselves owner in any room when needed, instead of
being owners all the time.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 21 Mar 2020 00:00:50 +0100 |
parent | 10480:94cacf9fd0ae |
child | 12976:a187600ec7d6 |
line wrap: on
line source
#ifndef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200809L #endif #include <time.h> #include <lua.h> static lua_Number tv2number(struct timespec *tv) { return tv->tv_sec + tv->tv_nsec * 1e-9; } static int lc_time_realtime(lua_State *L) { struct timespec t; clock_gettime(CLOCK_REALTIME, &t); lua_pushnumber(L, tv2number(&t)); return 1; } static int lc_time_monotonic(lua_State *L) { struct timespec t; clock_gettime(CLOCK_MONOTONIC, &t); lua_pushnumber(L, tv2number(&t)); return 1; } int luaopen_util_time(lua_State *L) { lua_createtable(L, 0, 2); { lua_pushcfunction(L, lc_time_realtime); lua_setfield(L, -2, "now"); lua_pushcfunction(L, lc_time_monotonic); lua_setfield(L, -2, "monotonic"); } return 1; }