aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2018-08-13 19:15:09 +0300
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2018-08-13 19:15:09 +0300
commitad159400d5e073b8f01529a4df188a6801425d56 (patch)
tree09e5a326c561946f4beeaa96630e7acb83f80b6c
parentafe81387c48acd3fe7d5228bec4d1e5bb36f560e (diff)
downloadawall-1.6.3.tar.bz2
awall-1.6.3.tar.xz
deterministic dependency resolverv1.6.3
-rw-r--r--awall/dependency.lua9
1 files changed, 5 insertions, 4 deletions
diff --git a/awall/dependency.lua b/awall/dependency.lua
index aead42e..13e54f7 100644
--- a/awall/dependency.lua
+++ b/awall/dependency.lua
@@ -1,11 +1,12 @@
--[[
Dependency order resolver for Alpine Wall
-Copyright (C) 2012-2014 Kaarle Ritvanen
+Copyright (C) 2012-2018 Kaarle Ritvanen
See LICENSE file for license details
]]--
local util = require('awall.util')
local contains = util.contains
+local sortedkeys = util.sortedkeys
return function(items)
local visited = {}
@@ -17,8 +18,8 @@ return function(items)
visited[key] = true
local after = util.list(items[key].after)
- for k, v in pairs(items) do
- if contains(v.before, key) then table.insert(after, k) end
+ for _, k in sortedkeys(items) do
+ if contains(items[k].before, key) then table.insert(after, k) end
end
for i, k in ipairs(after) do
if items[k] then
@@ -30,7 +31,7 @@ return function(items)
table.insert(res, key)
end
- for i, k in util.sortedkeys(items) do
+ for _, k in sortedkeys(items) do
local ek = visit(k)
if ek ~= nil then return ek end
end