From d9fb74bdb85527be7a06aec735716b1a9ede7abb Mon Sep 17 00:00:00 2001 From: Simon Cornish Date: Tue, 18 Nov 2014 15:31:34 -0800 Subject: Fix IMPLICIT tagging when TagDefault is AUTOMATIC This patch fixes a bug with compliance to X.680 (200811) s31.2.7 Basically, when TagDefault is AUTOMATIC then tags are IMPLICIT unless EXPLICIT is given. --- lib/asn1/src/asn1ct_check.erl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/asn1/src/asn1ct_check.erl b/lib/asn1/src/asn1ct_check.erl index 5d8740b92e..45f1d3a8c9 100644 --- a/lib/asn1/src/asn1ct_check.erl +++ b/lib/asn1/src/asn1ct_check.erl @@ -6581,6 +6581,8 @@ merge_tags2([T1= #tag{type='IMPLICIT'}, T2 |Rest], Acc) -> merge_tags2([T1#tag{type=T2#tag.type, form=T2#tag.form}|Rest],Acc); merge_tags2([T1= #tag{type={default,'IMPLICIT'}}, T2 |Rest], Acc) -> merge_tags2([T1#tag{type=T2#tag.type, form=T2#tag.form}|Rest],Acc); +merge_tags2([T1= #tag{type={default,'AUTOMATIC'}}, T2 |Rest], Acc) -> + merge_tags2([T1#tag{type=T2#tag.type, form=T2#tag.form}|Rest],Acc); merge_tags2([H|T],Acc) -> merge_tags2(T, [H|Acc]); merge_tags2([], Acc) -> -- cgit v1.2.3