summaryrefslogtreecommitdiffstats
path: root/aconf/model
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2014-03-15 22:20:58 +0200
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2014-03-25 09:02:57 +0200
commit0564751c2b7584ba09b81f0a2f7507905a109588 (patch)
tree8981a504bb7faa9f21f1d3a545f4564e4a01456d /aconf/model
parent506736171d38cb045b7e7f86210b4e5aee5c28b6 (diff)
downloadaconf-0564751c2b7584ba09b81f0a2f7507905a109588.tar.bz2
aconf-0564751c2b7584ba09b81f0a2f7507905a109588.tar.xz
model: optimize saving for list members
Diffstat (limited to 'aconf/model')
-rw-r--r--aconf/model/node.lua7
1 files changed, 4 insertions, 3 deletions
diff --git a/aconf/model/node.lua b/aconf/model/node.lua
index 49053f5..43f06e9 100644
--- a/aconf/model/node.lua
+++ b/aconf/model/node.lua
@@ -297,7 +297,7 @@ function M.List:init(context, params, dtype)
if v == nil then
local len = #mt.members()
while k < len do
- mt.save(k, mt.load(k + 1, {dereference=false}))
+ save(k, mt.load(k + 1, {dereference=false}))
k = k + 1
end
end
@@ -305,10 +305,11 @@ function M.List:init(context, params, dtype)
end
function mt.insert(v, i)
+ assert(v ~= nil)
local len = #mt.members()
if not i then i = len + 1 end
- for j = len,i,-1 do mt.save(j + 1, mt.load(j, {dereference=false})) end
- mt.save(i, v)
+ for j = len,i,-1 do save(j + 1, mt.load(j, {dereference=false})) end
+ save(i, v)
end
end