summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTristan Sloughter <t@crashfast.com>2014-11-22 11:38:34 -0600
committerTristan Sloughter <t@crashfast.com>2014-11-22 20:24:21 -0600
commiteb5c0eb42434d0603149f6de460bef7b3ef7b4de (patch)
tree19b7d7249ea312b8f8f54f875af61458c1764a51 /src
parent3e01e3e46d84e09946d347c3115db528bc88396c (diff)
include initial verticies in solution list
Diffstat (limited to 'src')
-rw-r--r--src/rebar_digraph.erl7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/rebar_digraph.erl b/src/rebar_digraph.erl
index 1198530..bbcb736 100644
--- a/src/rebar_digraph.erl
+++ b/src/rebar_digraph.erl
@@ -18,7 +18,9 @@ restore_graph({Vs, Es}) ->
Graph.
solve(Graph, Vertices) ->
- solve(Graph, Vertices, dict:new()).
+ solve(Graph, Vertices, lists:foldl(fun({Key, _}=N, Solution) ->
+ dict:store(Key, N, Solution)
+ end, dict:new(), Vertices)).
solve(_Graph, [], Solution) ->
{_, Vertices} = lists:unzip(dict:to_list(Solution)),
@@ -28,8 +30,7 @@ solve(Graph, Vertices, Solution) ->
lists:foldl(fun(V, {NewVertices, SolutionAcc}) ->
OutNeighbors = digraph:out_neighbours(Graph, V),
lists:foldl(fun({Key, _}=N, {NewVertices1, SolutionAcc1}) ->
- case dict:is_key(Key, SolutionAcc1) orelse
- lists:keymember(Key, 1, Vertices) of
+ case dict:is_key(Key, SolutionAcc1) of
true ->
{NewVertices1, SolutionAcc1};
false ->