aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diameter/src/base
diff options
context:
space:
mode:
authorAnders Svensson <[email protected]>2017-09-03 13:32:13 +0200
committerAnders Svensson <[email protected]>2017-09-03 13:32:13 +0200
commita2518cf009a2c2f7c156bbfe8ff65ceb8dc09a6a (patch)
tree9248dfbe2bfa962e5418f04f7f3125c0599906aa /lib/diameter/src/base
parent87f5f42374b2b4f43fee91ff77f2c739bcf9abf6 (diff)
parentae6966491183c62f6513b175aaede785871240cf (diff)
downloadotp-a2518cf009a2c2f7c156bbfe8ff65ceb8dc09a6a.tar.gz
otp-a2518cf009a2c2f7c156bbfe8ff65ceb8dc09a6a.tar.bz2
otp-a2518cf009a2c2f7c156bbfe8ff65ceb8dc09a6a.zip
Merge branch 'anders/diameter/config_consistency/OTP-14555' into maint
* anders/diameter/config_consistency/OTP-14555: Fix strict_arities blunder Fix minor error-handling blunder
Diffstat (limited to 'lib/diameter/src/base')
-rw-r--r--lib/diameter/src/base/diameter_config.erl5
-rw-r--r--lib/diameter/src/base/diameter_service.erl10
2 files changed, 9 insertions, 6 deletions
diff --git a/lib/diameter/src/base/diameter_config.erl b/lib/diameter/src/base/diameter_config.erl
index 4721be1ca0..6fc4277ac8 100644
--- a/lib/diameter/src/base/diameter_config.erl
+++ b/lib/diameter/src/base/diameter_config.erl
@@ -665,9 +665,8 @@ opt(transport, {applications, As}) ->
is_list(As);
opt(transport, {capabilities, Os}) ->
- is_list(Os) andalso case encode_CER(Os) of
- ok -> true;
- No -> {error, No}
+ is_list(Os) andalso try ok = encode_CER(Os), true
+ catch ?FAILURE(No) -> {error, No}
end;
opt(_, {K, Tmo})
diff --git a/lib/diameter/src/base/diameter_service.erl b/lib/diameter/src/base/diameter_service.erl
index 802e6e7243..3bd023a6f2 100644
--- a/lib/diameter/src/base/diameter_service.erl
+++ b/lib/diameter/src/base/diameter_service.erl
@@ -725,9 +725,13 @@ init_peers() ->
%% TPid}
service_opts(Opts) ->
- T = {strict_arities, true},
- maps:merge(maps:from_list([{monitor, false} | def_opts() -- [T]]),
- maps:from_list(Opts -- [T])).
+ remove([{strict_arities, true}],
+ maps:merge(maps:from_list([{monitor, false} | def_opts()]),
+ maps:from_list(Opts))).
+
+remove(List, Map) ->
+ maps:filter(fun(K,V) -> not lists:member({K,V}, List) end,
+ Map).
def_opts() -> %% defaults on the service map
[{share_peers, false},