diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/asn1/src/asn1ct_constructed_per.erl | 35 | ||||
| -rw-r--r-- | lib/asn1/src/asn1rt_ber_bin_v2.erl | 17 | ||||
| -rw-r--r-- | lib/asn1/src/asn1rt_per_bin_rt2ct.erl | 14 | ||||
| -rw-r--r-- | lib/asn1/src/asn1rt_uper_bin.erl | 14 | 
4 files changed, 14 insertions, 66 deletions
diff --git a/lib/asn1/src/asn1ct_constructed_per.erl b/lib/asn1/src/asn1ct_constructed_per.erl index 8de41a4dd4..5a3db2de16 100644 --- a/lib/asn1/src/asn1ct_constructed_per.erl +++ b/lib/asn1/src/asn1ct_constructed_per.erl @@ -80,9 +80,7 @@ gen_encode_constructed(Erule,Typename,D) when is_record(D,type) ->  		  "compiler warning for unused vars!",nl,  		  "_Val = ",{curr,val},",",nl]);  	{[],_,_} -> -	    emit([{next,val}," = ?RT_PER:list_to_record("]), -	    emit(["'",asn1ct_gen:list2rname(Typename),"'"]), -	    emit([", ",{curr,val},"),",nl]); +	    emit([{next,val}," = ",{curr,val},",",nl]);  	{_,_,true} ->  	    gen_fixoptionals(Optionals),  	    FixOpts = param_map(fun(Var) -> @@ -155,7 +153,7 @@ gen_encode_constructed(Erule,Typename,D) when is_record(D,type) ->  			emit([ObjectEncode," = ",nl]),  			emit(["  ",ObjSetMod,":'getenc_",ObjSetName,"'(",  			      {asis,UniqueFieldName},", ",nl]), -			El = make_element(N+1,asn1ct_gen:mk_var(asn1ct_name:curr(val)),AttrN), +			El = make_element(N+1,asn1ct_gen:mk_var(asn1ct_name:curr(val))),  			Length = fun(X,_LFun) when is_atom(X) ->   					 length(atom_to_list(X)); @@ -889,7 +887,7 @@ gen_enc_components_call1(_Erule,_TopType,[],Pos,_,_,_) ->  	Pos.  gen_enc_component_default(Erule,TopType,Cname,Type,Pos,DynamicEnc,Ext,DefaultVal) -> -    Element = make_element(Pos+1,asn1ct_gen:mk_var(asn1ct_name:curr(val)),Cname), +    Element = make_element(Pos+1,asn1ct_gen:mk_var(asn1ct_name:curr(val))),      emit({"case ",Element," of",nl}),  %    emit({"asn1_DEFAULT -> [];",nl}),      emit({"DFLT when DFLT == asn1_DEFAULT; DFLT == ",{asis,DefaultVal}," -> [];",nl}), @@ -909,7 +907,7 @@ gen_enc_component_optional(Erule,TopType,Cname,  					components=_ExtGroupCompList}},  			   Pos,DynamicEnc,Ext) when is_integer(Number) -> -    Element = make_element(Pos+1,asn1ct_gen:mk_var(asn1ct_name:curr(val)),Cname), +    Element = make_element(Pos+1,asn1ct_gen:mk_var(asn1ct_name:curr(val))),      emit({"case ",Element," of",nl}),      emit({"asn1_NOVALUE -> [];",nl}), @@ -922,7 +920,7 @@ gen_enc_component_optional(Erule,TopType,Cname,      gen_enc_line(Erule,TopType,Cname,Type,NextElement, Pos,DynamicEnc,Ext),      emit({nl,"end"});  gen_enc_component_optional(Erule,TopType,Cname,Type,Pos,DynamicEnc,Ext) -> -    Element = make_element(Pos+1,asn1ct_gen:mk_var(asn1ct_name:curr(val)),Cname), +    Element = make_element(Pos+1,asn1ct_gen:mk_var(asn1ct_name:curr(val))),      emit({"case ",Element," of",nl}),      emit({"asn1_NOVALUE -> [];",nl}), @@ -942,7 +940,7 @@ gen_enc_component_mandatory(Erule,TopType,Cname,Type,Pos,DynamicEnc,Ext) ->      gen_enc_line(Erule,TopType,Cname,Type,[],Pos,DynamicEnc,Ext).  gen_enc_line(Erule,TopType, Cname, Type, [], Pos,DynamicEnc,Ext) -> -    Element = make_element(Pos+1,asn1ct_gen:mk_var(asn1ct_name:curr(val)),Cname), +    Element = make_element(Pos+1,asn1ct_gen:mk_var(asn1ct_name:curr(val))),      gen_enc_line(Erule,TopType,Cname,Type,Element, Pos,DynamicEnc,Ext);  gen_enc_line(Erule,TopType,Cname,Type,Element, _Pos,DynamicEnc,Ext) ->      Ctgenmod = list_to_atom(lists:concat(["asn1ct_gen_",per, @@ -1578,22 +1576,17 @@ gen_encode_prim_wrapper(CtgenMod,Erule,Cont,DoTag,Value) ->  make_elements(I,Val,ExtCnames) ->      make_elements(I,Val,ExtCnames,[]). -make_elements(I,Val,[ExtCname],Acc)-> % the last one, no comma needed -    Element = make_element(I,Val,ExtCname), +make_elements(I,Val,[_ExtCname],Acc)-> % the last one, no comma needed +    Element = make_element(I, Val),      make_elements(I+1,Val,[],[Element|Acc]); -make_elements(I,Val,[ExtCname|Rest],Acc)-> -    Element = make_element(I,Val,ExtCname), +make_elements(I,Val,[_ExtCname|Rest],Acc)-> +    Element = make_element(I, Val),      make_elements(I+1,Val,Rest,[", ",Element|Acc]);  make_elements(_I,_,[],Acc) ->      lists:reverse(Acc). -make_element(I,Val,Cname) -> -    case tuple_notation_allowed() of -	true -> -	    io_lib:format("?RT_PER:cindex(~w,~s,~w)",[I,Val,Cname]); -	_ -> -	    io_lib:format("element(~w,~s)",[I,Val]) -    end. +make_element(I, Val) -> +    io_lib:format("element(~w,~s)", [I,Val]).  emit_extaddgroupTerms(VarSeries,[_]) ->      asn1ct_name:new(VarSeries), @@ -1651,10 +1644,6 @@ wrap_extensionAdditionGroups([],_,Acc,_,_) ->      lists:reverse(Acc). -tuple_notation_allowed() -> -    Options = get(encoding_options), -    not (lists:member(optimize,Options) orelse lists:member(uper_bin,Options)). -  wrap_gen_dec_line(Erule,C,TopType,Cname,Type,Pos,DIO,Ext) ->      put(component_type,{true,C}),      gen_dec_line(Erule,TopType,Cname,Type,Pos,DIO,Ext,mandatory), diff --git a/lib/asn1/src/asn1rt_ber_bin_v2.erl b/lib/asn1/src/asn1rt_ber_bin_v2.erl index 9ff5017c68..e46e163ebb 100644 --- a/lib/asn1/src/asn1rt_ber_bin_v2.erl +++ b/lib/asn1/src/asn1rt_ber_bin_v2.erl @@ -22,8 +22,7 @@  %% encoding / decoding of BER    -export([decode/1, decode/2, match_tags/2, encode/1, encode/2]).  --export([fixoptionals/2, cindex/3, -	 list_to_record/2, +-export([fixoptionals/2,  	 encode_tag_val/1,  	 encode_tags/3,  	 skip_ExtensionAdditions/2]). @@ -612,13 +611,6 @@ match_tags(Tlv, []) ->      Tlv;  match_tags(Tlv = {Tag,_V},[T|_Tt]) ->      exit({error,{asn1,{wrong_tag,{{expected,T},{got,Tag,Tlv}}}}}). - -  -cindex(Ix,Val,Cname) ->  -    case element(Ix,Val) of  -	{Cname,Val2} -> Val2;  -	X -> X  -    end.   %%%  %% skips components that do not match a tag in Tags @@ -642,13 +634,6 @@ skip_ExtensionAdditions(TLV=[{Tag,_}|Rest],Tags) ->  %%===============================================================================   %%===============================================================================  -% converts a list to a record if necessary  -list_to_record(Name,List) when is_list(List) ->  -    list_to_tuple([Name|List]);  -list_to_record(_Name,Tuple) when is_tuple(Tuple) ->  -    Tuple.  -  -   fixoptionals(OptList,Val) when is_list(Val) ->       fixoptionals(OptList,Val,1,[],[]).  diff --git a/lib/asn1/src/asn1rt_per_bin_rt2ct.erl b/lib/asn1/src/asn1rt_per_bin_rt2ct.erl index 1df757a47f..290054b4dc 100644 --- a/lib/asn1/src/asn1rt_per_bin_rt2ct.erl +++ b/lib/asn1/src/asn1rt_per_bin_rt2ct.erl @@ -22,7 +22,7 @@  -include("asn1_records.hrl"). --export([dec_fixup/3, cindex/3, list_to_record/2]). +-export([dec_fixup/3]).  -export([setchoiceext/1, setext/1, fixoptionals/3, fixextensions/2,   	 getext/1, getextension/2, skipextensions/3, getbit/1, getchoice/3 ]).  -export([getoptionals/2, getoptionals2/2,  @@ -87,18 +87,6 @@ dec_fixup([H|T],[Hc|Tc],RemBytes,Acc) ->  dec_fixup([],_Cnames,RemBytes,Acc) ->      {lists:reverse(Acc),RemBytes}. -cindex(Ix,Val,Cname) -> -    case element(Ix,Val) of -	{Cname,Val2} -> Val2; -	X -> X -    end. - -%% converts a list to a record if necessary -list_to_record(_,Tuple) when is_tuple(Tuple) -> -    Tuple; -list_to_record(Name,List) when is_list(List) -> -    list_to_tuple([Name|List]). -  %%--------------------------------------------------------  %% setchoiceext(InRootSet) -> [{bit,X}]  %% X  is set to  1 when InRootSet==false diff --git a/lib/asn1/src/asn1rt_uper_bin.erl b/lib/asn1/src/asn1rt_uper_bin.erl index abe178a69e..e1f96416a9 100644 --- a/lib/asn1/src/asn1rt_uper_bin.erl +++ b/lib/asn1/src/asn1rt_uper_bin.erl @@ -25,7 +25,6 @@  %%-compile(export_all). - -export([cindex/3, list_to_record/2]).   -export([setext/1, fixoptionals/3,    	 fixextensions/2,    	 getext/1, getextension/2, skipextensions/3, getbit/1, getchoice/3 ]). @@ -65,19 +64,6 @@  -define('64K',65536). -cindex(Ix,Val,Cname) -> -    case element(Ix,Val) of -	{Cname,Val2} -> Val2; -	X -> X -    end. - -%% converts a list to a record if necessary -list_to_record(_Name,Tuple) when is_tuple(Tuple) -> -    Tuple; -list_to_record(Name,List) when is_list(List) -> -    list_to_tuple([Name|List]). - -  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% setext(true|false) ->  CompleteList  %%  | 
