Cleanup various varargs shenanigans (#9624)

* Iterate over varargs directly via select if possible
* Use table.pack otherwise (https://github.com/koreader/koreader-base/pull/1535).
* This allows us to simplify a few Logger calls, as logger now handles nil values.
This commit is contained in:
NiLuJe
2022-10-12 19:59:48 +02:00
committed by GitHub
parent 8508689cea
commit da65ac8b02
17 changed files with 44 additions and 45 deletions

View File

@@ -16,7 +16,6 @@ local UIManager = require("ui/uimanager")
local buffer = require("string.buffer")
local ffiutil = require("ffi/util")
local logger = require("logger")
local util = require("util")
local _ = require("gettext")
local Trapper = {}
@@ -558,7 +557,7 @@ function Trapper:dismissableRunInSubprocess(task, trap_widget_or_string, task_re
-- task may return complex data structures, that we serialize.
-- NOTE: LuaJIT's serializer currently doesn't support:
-- functions, coroutines, non-numerical FFI cdata & full userdata.
local results = util.table_pack(task())
local results = table.pack(task())
local ok, str = pcall(buffer.encode, results)
if not ok then
logger.warn("cannot serialize", tostring(results), "->", str)
@@ -675,7 +674,7 @@ function Trapper:dismissableRunInSubprocess(task, trap_widget_or_string, task_re
if task_returns_simple_string then
return completed, ret_values
else
return completed, unpack(ret_values, 1, ret_values.n)
return completed, unpack(ret_values)
end
end
return completed