From eb5c0eb42434d0603149f6de460bef7b3ef7b4de Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Sat, 22 Nov 2014 11:38:34 -0600 Subject: include initial verticies in solution list --- src/rebar_digraph.erl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') 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 -> -- cgit v1.1