diff options
author | Anders Svensson <[email protected]> | 2013-06-14 16:57:00 +0200 |
---|---|---|
committer | Anders Svensson <[email protected]> | 2013-06-14 16:57:00 +0200 |
commit | e0f1ba5c00cbe533404527942a6c8c500dca5aa7 (patch) | |
tree | a17274bba13693f5240d2bb5441478bbf3388491 /lib/diameter/src/base/diameter_capx.erl | |
parent | 473d202ee0b859518e6bc4bfa6c74e7e0863ca12 (diff) | |
parent | bda0f0b1a0b990b095fc46c3a5c7085f69f08480 (diff) | |
download | otp-e0f1ba5c00cbe533404527942a6c8c500dca5aa7.tar.gz otp-e0f1ba5c00cbe533404527942a6c8c500dca5aa7.tar.bz2 otp-e0f1ba5c00cbe533404527942a6c8c500dca5aa7.zip |
Merge branch 'maint'
Diffstat (limited to 'lib/diameter/src/base/diameter_capx.erl')
-rw-r--r-- | lib/diameter/src/base/diameter_capx.erl | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/diameter/src/base/diameter_capx.erl b/lib/diameter/src/base/diameter_capx.erl index 4b821f5139..1a931a9854 100644 --- a/lib/diameter/src/base/diameter_capx.erl +++ b/lib/diameter/src/base/diameter_capx.erl @@ -419,12 +419,13 @@ app_union(#diameter_caps{auth_application_id = U, vendor_specific_application_id = V}) -> set_list(U ++ C ++ lists:flatmap(fun vsa_apps/1, V)). -vsa_apps([_ | [_,_] = Ids]) -> - lists:append(Ids); +vsa_apps(Vals) + when is_list(Vals) -> + lists:flatmap(fun({'Vendor-Id', _}) -> []; ({_, Ids}) -> Ids end, Vals); vsa_apps(Rec) when is_tuple(Rec) -> - [_|T] = tuple_to_list(Rec), - vsa_apps(T). + [_Name, _VendorId | Idss] = tuple_to_list(Rec), + lists:append(Idss). %% It's a configuration error for a locally advertised application not %% to be represented in Apps. Don't just match on lists:keyfind/3 in |