summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Bridgen <mikeb@lshift.net>2010-02-22 17:47:41 +0000
committerMichael Bridgen <mikeb@lshift.net>2010-02-22 17:47:41 +0000
commit452e05e9633493b1e09dd5f9750ce85336187f6e (patch)
treedde2271b74a63452a3cb421a2d4c5757c3fef9b1
parent0f764e1d4afbce402e3264899111fd9bad5fd6e6 (diff)
downloadrabbitmq-server-452e05e9633493b1e09dd5f9750ce85336187f6e.tar.gz
Remove duplication in delete_binding
-rw-r--r--src/rabbit_exchange.erl15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl
index f6cc030b..c73911d4 100644
--- a/src/rabbit_exchange.erl
+++ b/src/rabbit_exchange.erl
@@ -422,16 +422,15 @@ delete_binding(ExchangeName, QueueName, RoutingKey, Arguments) ->
{maybe_auto_delete(X), B}
end
end) of
- {{auto_deleted, X = #exchange{ type = Type }}, B} ->
+ Err = {error, _} ->
+ Err;
+ {{Action, X = #exchange{ type = Type }}, B} ->
Module = type_to_module(Type),
Module:delete_binding(X, B),
- Module:delete(X, []),
- ok;
- {{no_delete, X = #exchange{ type = Type }}, B} ->
- (type_to_module(Type)):delete_binding(X, B),
- ok;
- Err = {error, _} ->
- Err
+ case Action of
+ auto_delete -> Module:delete(X, []), ok;
+ no_delete -> ok
+ end
end.
binding_action(ExchangeName, QueueName, RoutingKey, Arguments, Fun) ->