summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFrancesco Mazzoli <francesco@rabbitmq.com>2012-04-11 13:34:15 +0100
committerFrancesco Mazzoli <francesco@rabbitmq.com>2012-04-11 13:34:15 +0100
commit9f7abfa7b80e3e01b961b748cb867b42bb9ff5cf (patch)
tree0e6ecfafe4e8772b7afa3b06fafc8010b0b859ed /src
parent7711938a8f2a279b1d64afd106f3bfb724ece927 (diff)
downloadrabbitmq-server-git-9f7abfa7b80e3e01b961b748cb867b42bb9ff5cf.tar.gz
Added sane set and tree difference functions.
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_misc.erl9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/rabbit_misc.erl b/src/rabbit_misc.erl
index c1be7613ae..82e3a3f21e 100644
--- a/src/rabbit_misc.erl
+++ b/src/rabbit_misc.erl
@@ -60,6 +60,7 @@
-export([multi_call/2]).
-export([quit/1]).
-export([os_cmd/1]).
+-export([gb_sets_difference/2, gb_trees_difference/2]).
%%----------------------------------------------------------------------------
@@ -204,6 +205,8 @@
([pid()], any()) -> {[{pid(), any()}], [{pid(), any()}]}).
-spec(quit/1 :: (integer() | string()) -> no_return()).
-spec(os_cmd/1 :: (string()) -> string()).
+-spec(gb_sets_difference/2 :: (gb_set(), gb_set()) -> gb_set()).
+-spec(gb_trees_difference/2 :: (gb_tree(), gb_tree()) -> gb_tree()).
-endif.
@@ -912,3 +915,9 @@ os_cmd(Command) ->
false -> throw({command_not_found, Exec});
_ -> os:cmd(Command)
end.
+
+gb_sets_difference(S1, S2) ->
+ lists:foldl(fun gb_sets:delete/2, S1, gb_sets:to_list(S2)).
+
+gb_trees_difference(T1, T2) ->
+ lists:foldl(fun gb_trees:delete/2, T1, gb_trees:to_list(T2)).