diff options
author | Hans Bolinder <[email protected]> | 2012-03-01 11:48:20 +0100 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2012-03-01 11:48:20 +0100 |
commit | fbdf7929b87f3e41b0ff573b8eaae44cdfae16d9 (patch) | |
tree | 57c75cd725c132672c0b74d52176e1e82f1fd896 /lib/stdlib/src/digraph_utils.erl | |
parent | 3750ac230e0af600417fff900b3d5ef242fb18c7 (diff) | |
download | otp-fbdf7929b87f3e41b0ff573b8eaae44cdfae16d9.tar.gz otp-fbdf7929b87f3e41b0ff573b8eaae44cdfae16d9.tar.bz2 otp-fbdf7929b87f3e41b0ff573b8eaae44cdfae16d9.zip |
Remove loops from the graph created by digraph_utils:condensation/1
The function digraph_utils:condensation/1 used to create a digraph
containing loops contradicting the documentation which states that the
created digraph is free of cycles.
Thanks to Kostis Sagonas for finding the bug.
Diffstat (limited to 'lib/stdlib/src/digraph_utils.erl')
-rw-r--r-- | lib/stdlib/src/digraph_utils.erl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/stdlib/src/digraph_utils.erl b/lib/stdlib/src/digraph_utils.erl index e221be15a1..807b5c12a1 100644 --- a/lib/stdlib/src/digraph_utils.erl +++ b/lib/stdlib/src/digraph_utils.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1999-2011. All Rights Reserved. +%% Copyright Ericsson AB 1999-2012. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -370,5 +370,5 @@ condense('$end_of_table', _T, _SC, _G, _SCG, _I2C) -> condense(I, T, SC, G, SCG, I2C) -> [{_,C}] = ets:lookup(I2C, I), digraph:add_vertex(SCG, C), - digraph:add_edge(SCG, SC, C), + [digraph:add_edge(SCG, SC, C) || C =/= SC], condense(ets:next(T, I), T, SC, G, SCG, I2C). |