From: Petr Špaček Date: Tue, 13 Oct 2020 15:53:37 +0000 (+0200) Subject: kluautil: table pack and unpack X-Git-Tag: v5.2.0~6^2~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ace843e3065cad2507a66a8cc13ef2888155ee16;p=thirdparty%2Fknot-resolver.git kluautil: table pack and unpack Helper functions for handling variable length arrays with nil values. --- 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;