From 4ef1cdec12a56d7a1d3908d66182362d59677393 Mon Sep 17 00:00:00 2001 From: Badlop Date: Mon, 26 Jun 2017 13:39:50 +0200 Subject: [PATCH] Write validator for mod_multicast's limits option --- src/mod_multicast.erl | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/mod_multicast.erl b/src/mod_multicast.erl index f27003f7d..4d3e481a7 100644 --- a/src/mod_multicast.erl +++ b/src/mod_multicast.erl @@ -1117,6 +1117,13 @@ depends(_Host, _Opts) -> mod_opt_type(access) -> fun acl:access_rules_validator/1; mod_opt_type(host) -> fun iolist_to_binary/1; -mod_opt_type(limits) -> - fun (A) when is_list(A) -> A end; -mod_opt_type(_) -> [access, host, limits]. +mod_opt_type({limits, Type}) when (Type == local) or (Type == remote) -> + fun(L) -> + lists:map( + fun ({message, infinite}) -> infinite; + ({presence, infinite}) -> infinite; + ({message, I}) when is_integer(I) -> I; + ({presence, I}) when is_integer(I) -> I + end, L) + end; +mod_opt_type(_) -> [access, host, {limits, local}, {limits, remote}].