aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2012-03-01 11:48:20 +0100
committerHans Bolinder <[email protected]>2012-03-01 11:48:20 +0100
commitfbdf7929b87f3e41b0ff573b8eaae44cdfae16d9 (patch)
tree57c75cd725c132672c0b74d52176e1e82f1fd896 /lib/stdlib/src
parent3750ac230e0af600417fff900b3d5ef242fb18c7 (diff)
downloadotp-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')
-rw-r--r--lib/stdlib/src/digraph_utils.erl4
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).