diff options
author | Björn-Egil Dahlberg <[email protected]> | 2011-05-20 15:32:12 +0200 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2011-05-20 15:32:12 +0200 |
commit | f51fe0b00300082fe2a937c4575afedd9e113afa (patch) | |
tree | be8e5f24120fa65d6dc50ccae657712a5b1334b2 /lib/asn1/src/asn1ct_constructed_per.erl | |
parent | 6c6ea3ebe1e031520bf5bf8808c595b935a4b3bc (diff) | |
parent | 577f5ca0d34793c8a1c502f3e4221e43929b3e33 (diff) | |
download | otp-f51fe0b00300082fe2a937c4575afedd9e113afa.tar.gz otp-f51fe0b00300082fe2a937c4575afedd9e113afa.tar.bz2 otp-f51fe0b00300082fe2a937c4575afedd9e113afa.zip |
Merge branch 'kenneth/asn1/longlength/OTP-9303' into dev
* kenneth/asn1/longlength/OTP-9303:
Fixed DRIVER_INIT prototype
Corrected handling of long length in driver and updated test suites
Diffstat (limited to 'lib/asn1/src/asn1ct_constructed_per.erl')
-rw-r--r-- | lib/asn1/src/asn1ct_constructed_per.erl | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/asn1/src/asn1ct_constructed_per.erl b/lib/asn1/src/asn1ct_constructed_per.erl index d6f23aca06..c1b6aa5713 100644 --- a/lib/asn1/src/asn1ct_constructed_per.erl +++ b/lib/asn1/src/asn1ct_constructed_per.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% Copyright Ericsson AB 1997-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -255,7 +255,7 @@ gen_decode_constructed(Erules,Typename,D) when is_record(D,type) -> _ -> false end end, - case lists:any(F,CompList) of + case lists:any(F,flat_complist(CompList)) of true -> % when component relation constraint establish %% relation from a component to another components %% subtype component @@ -1493,6 +1493,11 @@ emit_extaddgroupTerms(VarSeries,[_|Rest]) -> emit_extaddgroupTerms(VarSeries,Rest); emit_extaddgroupTerms(_,[]) -> ok. + +flat_complist({Rl1,El,Rl2}) -> Rl1 ++ El ++ Rl2; +flat_complist({Rl,El}) -> Rl ++ El; +flat_complist(CompList) -> CompList. + wrap_compList({Root1,Ext,Root2}) -> {Root1,wrap_extensionAdditionGroups(Ext),Root2}; wrap_compList({Root1,Ext}) -> |