diff options
-rw-r--r-- | aconf/model/node.lua | 7 |
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 |