diff options
author | Björn Gustavsson <[email protected]> | 2017-03-14 15:57:25 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2017-03-15 13:03:17 +0100 |
commit | ec57794ac294666a8bf31f9f7f79585ddaeed808 (patch) | |
tree | bdf221ec82a0ddac9a5dc67f8cd1b73c7608e9ce /lib/asn1/src/asn1ct_constructed_ber_bin_v2.erl | |
parent | afd0690257ce11ca1e4b50fe70e8f731357dacd1 (diff) | |
download | otp-ec57794ac294666a8bf31f9f7f79585ddaeed808.tar.gz otp-ec57794ac294666a8bf31f9f7f79585ddaeed808.tar.bz2 otp-ec57794ac294666a8bf31f9f7f79585ddaeed808.zip |
Remove default clauses that cause exceptions for internal errors
Just crash if there is an internal error.
Diffstat (limited to 'lib/asn1/src/asn1ct_constructed_ber_bin_v2.erl')
-rw-r--r-- | lib/asn1/src/asn1ct_constructed_ber_bin_v2.erl | 43 |
1 files changed, 20 insertions, 23 deletions
diff --git a/lib/asn1/src/asn1ct_constructed_ber_bin_v2.erl b/lib/asn1/src/asn1ct_constructed_ber_bin_v2.erl index 976296a270..bfb69a09b3 100644 --- a/lib/asn1/src/asn1ct_constructed_ber_bin_v2.erl +++ b/lib/asn1/src/asn1ct_constructed_ber_bin_v2.erl @@ -1025,29 +1025,26 @@ gen_enc_line(Erules,TopType,Cname,Type,Element,Indent,OptOrMand,Assign,EncObj) fieldname=RefedFieldName}}, {componentrelation,_,_}} -> {_LeadingAttrName,Fun} = EncObj, - case RefedFieldName of - {Name,RestFieldNames} when is_atom(Name) -> - case OptOrMand of - mandatory -> ok; - _ -> - emit(["{",{curr,tmpBytes},",_ } = "]) - end, - emit([Fun,"(",{asis,Name},", ",Element,", ", - {asis,RestFieldNames},"),",nl]), - emit(IndDeep), - case OptOrMand of - mandatory -> - emit(["{",{curr,encBytes},",",{curr,encLen}, - "} = ", - {call,ber,encode_open_type, - [{curr,tmpBytes},{asis,Tag}]},nl]); - _ -> - emit([{call,ber,encode_open_type, - [{curr,tmpBytes},{asis,Tag}]}]) - end; - Err -> - throw({asn1,{'internal error',Err}}) - end; + {Name,RestFieldNames} = RefedFieldName, + true = is_atom(Name), %Assertion. + case OptOrMand of + mandatory -> ok; + _ -> + emit(["{",{curr,tmpBytes},",_ } = "]) + end, + emit([Fun,"(",{asis,Name},", ",Element,", ", + {asis,RestFieldNames},"),",nl]), + emit(IndDeep), + case OptOrMand of + mandatory -> + emit(["{",{curr,encBytes},",",{curr,encLen}, + "} = ", + {call,ber,encode_open_type, + [{curr,tmpBytes},{asis,Tag}]},nl]); + _ -> + emit([{call,ber,encode_open_type, + [{curr,tmpBytes},{asis,Tag}]}]) + end; _ -> case WhatKind of {primitive,bif} -> |