diff options
author | Björn Gustavsson <[email protected]> | 2012-11-14 10:15:08 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2012-11-23 11:43:02 +0100 |
commit | 6ef8cbdaaaa1c30a7dc4620635726f62084dbd22 (patch) | |
tree | e9534d443f11f2521cc1de312f2e00ff4e471d97 /lib/asn1/test/asn1_wrapper.erl | |
parent | 4a80c771f6a4e04fd4e7f7990e9d9a118ab2d689 (diff) | |
download | otp-6ef8cbdaaaa1c30a7dc4620635726f62084dbd22.tar.gz otp-6ef8cbdaaaa1c30a7dc4620635726f62084dbd22.tar.bz2 otp-6ef8cbdaaaa1c30a7dc4620635726f62084dbd22.zip |
Remove obsolete back-ends and simplify the options
It is time to clean up the mess of back-ends.
Remove all the obsolete back-ends and simplify the options used
to select them.
New Option Old Equivalent
---------- --------------
ber ber_bin,optimize,nif
per per,optimize,nif
uper uper_bin
The old options will still be recognized and translated to the
new options, but will also print a warning.
That implies that deprecated features that only are implemented
in the old 'ber' back-end will no longer work (e.g. the
{Typename,Value} notation).
Also make the return type for the generated encode/2 function
consistent. It used to be a binary for per and uper, and an iolist
for ber. Always make it a binary.
Diffstat (limited to 'lib/asn1/test/asn1_wrapper.erl')
-rw-r--r-- | lib/asn1/test/asn1_wrapper.erl | 35 |
1 files changed, 5 insertions, 30 deletions
diff --git a/lib/asn1/test/asn1_wrapper.erl b/lib/asn1/test/asn1_wrapper.erl index d515b99ac2..e764d8b4ca 100644 --- a/lib/asn1/test/asn1_wrapper.erl +++ b/lib/asn1/test/asn1_wrapper.erl @@ -34,41 +34,16 @@ encode(Module,Type,Value) -> Error end. -decode(Module,Type,Bytes) -> - case Module:encoding_rule() of - ber -> - asn1rt:decode(Module,Type,Bytes); - ber_bin when is_binary(Bytes) -> - asn1rt:decode(Module,Type,Bytes); - ber_bin -> - asn1rt:decode(Module,Type,list_to_binary(Bytes)); - ber_bin_v2 when is_binary(Bytes) -> - asn1rt:decode(Module,Type,Bytes); - ber_bin_v2 -> - asn1rt:decode(Module,Type,list_to_binary(Bytes)); - per -> - asn1rt:decode(Module,Type,Bytes); - per_bin when is_binary(Bytes) -> - asn1rt:decode(Module,Type,Bytes); - per_bin -> - asn1rt:decode(Module,Type,list_to_binary(Bytes)); - uper_bin when is_binary(Bytes) -> - asn1rt:decode(Module,Type,Bytes); - uper_bin -> - asn1rt:decode(Module,Type,list_to_binary(Bytes)) - end. +decode(Module, Type, Bytes) when is_binary(Bytes) -> + asn1rt:decode(Module, Type, Bytes); +decode(Module, Type, Bytes) when is_list(Bytes) -> + asn1rt:decode(Module, Type, list_to_binary(Bytes)). erule(ber) -> ber; -erule(ber_bin) -> - ber; -erule(ber_bin_v2) -> - ber; erule(per) -> per; -erule(per_bin) -> - per; -erule(uper_bin) -> +erule(uper) -> per. |