In newer versions of Lua, you'd use unpack, as in addPath(sPathName,unpack(Points)), but Lua 4.0 does not have unpack.
If you can add C code, unpack from Lua 5.0 works fine in 4.0:
static int luaB_unpack (lua_State *L) {
int n, i;
luaL_checktype(L, 1, LUA_TTABLE);
n = lua_getn(L, 1);
luaL_checkstack(L, n, "table too big to unpack");
for (i=1; i<=n; i++) /* push arg[1...n] */
lua_rawgeti(L, 1, i);
return n;
}
Add this to lbaselib.c and this to base_funcs:
{"unpack", luaB_unpack},
If you cannot add C code, then you're out of luck and are probably reduced to this hack:
function unpack(t)
return t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]
end
Extend the return expression as needed but you may only go as far as 200 or so. Let's hope that addPath ignores or stops at the first nil.
You can also try this one, which stops at the first nil but has no explicit limits (there are recursion limits and it'll only handle up to 250 table entries):
function unpack(t,i)
i = i or 1
if t[i]~=nil then
return t[i],unpack(t,i+1)
end
end