summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRob Harrop <rob@rabbitmq.com>2011-03-07 16:57:21 +0000
committerRob Harrop <rob@rabbitmq.com>2011-03-07 16:57:21 +0000
commit717de5c2557aa3bfdb475d5d41eb110a0c8790ce (patch)
tree423e96cc008d97f6f00cd34cd0e8e679b78ee3f1 /src
parent1e6c32ed2248a5fcc780633b9137e19e313f3420 (diff)
downloadrabbitmq-server-git-717de5c2557aa3bfdb475d5d41eb110a0c8790ce.tar.gz
Fixed a few pattern matching errors - remove actually works again
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_exchange_type_topic.erl5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/rabbit_exchange_type_topic.erl b/src/rabbit_exchange_type_topic.erl
index 5c5d760e05..ff4828c15c 100644
--- a/src/rabbit_exchange_type_topic.erl
+++ b/src/rabbit_exchange_type_topic.erl
@@ -83,9 +83,10 @@ remove_bindings(true, X, Bs) ->
{[{FinalNode, D} | Acc], PathAcc1}
end, {[], gb_trees:empty()}, Bs),
+ io:format("~p~n", [Paths]),
[trie_remove_binding(X, FinalNode, D) || {FinalNode, D} <- ToDelete],
[trie_remove_edge(X, Parent, Node, W) ||
- {[{Node, W}, {Parent, _} | _ ], {0, 0}}
+ {Node, {[{Node, W}, {Parent, _} | _], 0, 0}}
<- gb_trees:to_list(Paths)],
ok;
remove_bindings(false, _X, _Bs) ->
@@ -119,7 +120,7 @@ with_path_acc(X, Fun, [{Node, _} | ParentPath], PathAcc) ->
NewVal = Fun(gb_trees:get(Node, PathAcc)),
NewPathAcc = gb_trees:update(Node, NewVal, PathAcc),
case NewVal of
- {0, 0} ->
+ {_, 0, 0} ->
decrement_edges(X, ParentPath,
maybe_add_path(X, ParentPath, NewPathAcc));
_ ->