From ace843e3065cad2507a66a8cc13ef2888155ee16 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Petr=20=C5=A0pa=C4=8Dek?= Date: Tue, 13 Oct 2020 17:53:37 +0200 Subject: [PATCH] kluautil: table pack and unpack Helper functions for handling variable length arrays with nil values. --- daemon/lua/kluautil.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/daemon/lua/kluautil.lua b/daemon/lua/kluautil.lua index 0b6a114fb..b96a4bad7 100644 --- a/daemon/lua/kluautil.lua +++ b/daemon/lua/kluautil.lua @@ -17,6 +17,18 @@ function kluautil.kr_table_len(t) return len end +-- pack varargs including nil arguments into a table +function kluautil.kr_table_pack(...) + local tab = {...} + tab.n = select('#', ...) + return tab +end + +-- unpack table produced by kr_table_pack and including nil values +function kluautil.kr_table_unpack(tab) + return unpack(tab, 1, tab.n) +end + -- Fetch over HTTPS ffi.cdef([[ typedef struct __dirstream DIR; -- 2.47.2