From 0cfc75eb1c66cad31272b4e2f05071214d1ae085 Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Fri, 11 Apr 2014 11:12:47 +0100 Subject: [PATCH] elua: provide a conversion method from list to table --- src/bindings/luajit/eina/list.lua | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/bindings/luajit/eina/list.lua b/src/bindings/luajit/eina/list.lua index 22a2fa941e..e348384aa5 100644 --- a/src/bindings/luajit/eina/list.lua +++ b/src/bindings/luajit/eina/list.lua @@ -207,6 +207,22 @@ M.List = util.Object:clone { local l = self.__list if l == nil then return nil end return l:data_get(ptr) + end, + + to_array = function(self) + local l = self.__list + if l == nil then return {}, 0 end + local n = 0 + local r = {} + while l ~= nil do + n = n + 1 + local d = l:data_get() + if d ~= nil then + r[n] = self:data_get(d) + end + l = l:next() + end + return r, n end }