aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/src/asn1ct_imm.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2012-11-30 13:57:09 +0100
committerBjörn Gustavsson <[email protected]>2012-12-06 14:22:37 +0100
commit1b622484ea984f3bc424d2a6760e2d961bfcf816 (patch)
treeebbd0c5178a0d2d0738815a717d0c1dff18dc661 /lib/asn1/src/asn1ct_imm.erl
parente0d377e57b9847b887ef61b13745f45c2f4deb54 (diff)
downloadotp-1b622484ea984f3bc424d2a6760e2d961bfcf816.tar.gz
otp-1b622484ea984f3bc424d2a6760e2d961bfcf816.tar.bz2
otp-1b622484ea984f3bc424d2a6760e2d961bfcf816.zip
Optimize decoding of extensions
Diffstat (limited to 'lib/asn1/src/asn1ct_imm.erl')
-rw-r--r--lib/asn1/src/asn1ct_imm.erl5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/asn1/src/asn1ct_imm.erl b/lib/asn1/src/asn1ct_imm.erl
index 0969dec272..34bb0b8714 100644
--- a/lib/asn1/src/asn1ct_imm.erl
+++ b/lib/asn1/src/asn1ct_imm.erl
@@ -19,6 +19,7 @@
%%
-module(asn1ct_imm).
-export([per_dec_boolean/0,per_dec_enumerated/2,per_dec_enumerated/3,
+ per_dec_extension_map/1,
per_dec_integer/2,per_dec_length/3,per_dec_named_integer/3,
per_dec_octet_string/2,per_dec_open_type/1]).
-export([optimize_alignment/1,optimize_alignment/2,
@@ -70,6 +71,10 @@ per_dec_enumerated(BaseNamedList, NamedListExt0, Aligned) ->
Ext = {map,per_dec_normally_small_number(Aligned),NamedListExt},
bit_case(Base, Ext).
+per_dec_extension_map(Aligned) ->
+ Len = {add,per_dec_normally_small_number(Aligned),1},
+ {get_bits,Len,[1,bitstring]}.
+
per_dec_integer(Constraint0, Aligned) ->
Constraint = effective_constraint(integer, Constraint0),
per_dec_integer_1(Constraint, Aligned).