commit 946c6d5: [Minor] Lua_task: Allow to get a raw timestamp

Vsevolod Stakhov vsevolod at highsecure.ru
Mon Dec 2 17:07:15 UTC 2019


Author: Vsevolod Stakhov
Date: 2019-12-02 15:42:25 +0000
URL: https://github.com/rspamd/rspamd/commit/946c6d5af333c78914a37ada3ace683c1b782988

[Minor] Lua_task: Allow to get a raw timestamp

---
 src/lua/lua_task.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/src/lua/lua_task.c b/src/lua/lua_task.c
index aff6d8499..26ad15dec 100644
--- a/src/lua/lua_task.c
+++ b/src/lua/lua_task.c
@@ -4889,14 +4889,19 @@ lua_task_get_timeval (lua_State *L)
 	struct timeval tv;
 
 	if (task != NULL) {
-		double_to_tv (task->task_timestamp, &tv);
-		lua_createtable (L, 0, 2);
-		lua_pushstring (L, "tv_sec");
-		lua_pushinteger (L, (lua_Integer)tv.tv_sec);
-		lua_settable (L, -3);
-		lua_pushstring (L, "tv_usec");
-		lua_pushinteger (L, (lua_Integer)tv.tv_usec);
-		lua_settable (L, -3);
+		if (lua_isboolean (L, 2) && !!lua_toboolean (L, 2)) {
+			lua_pushnumber (L, task->task_timestamp);
+		}
+		else {
+			double_to_tv (task->task_timestamp, &tv);
+			lua_createtable (L, 0, 2);
+			lua_pushstring (L, "tv_sec");
+			lua_pushinteger (L, (lua_Integer) tv.tv_sec);
+			lua_settable (L, -3);
+			lua_pushstring (L, "tv_usec");
+			lua_pushinteger (L, (lua_Integer) tv.tv_usec);
+			lua_settable (L, -3);
+		}
 	}
 	else {
 		return luaL_error (L, "invalid arguments");


More information about the Commits mailing list