From: Sean H. <sea...@us...> - 2004-03-25 15:28:34
|
Update of /cvsroot/jungerl/jungerl/lib/eradius/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23298 Modified Files: eradius_lib.erl Log Message: A couple of bugs in decoding Index: eradius_lib.erl =================================================================== RCS file: /cvsroot/jungerl/jungerl/lib/eradius/src/eradius_lib.erl,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- eradius_lib.erl 10 Nov 2003 13:42:29 -0000 1.2 +++ eradius_lib.erl 25 Mar 2004 15:17:40 -0000 1.3 @@ -240,8 +240,14 @@ dec_attr_val(A, Bin) when A#attribute.type == string -> [{A, binary_to_list(Bin)}]; -dec_attr_val(A, <<I/integer>>) when A#attribute.type == integer -> - [{A, I}]; +dec_attr_val(A, I0) when A#attribute.type == integer -> + L = size(I0)*8, + case I0 of + <<I:L/integer>> -> + [{A, I}]; + _ -> + [{A, I0}] + end; dec_attr_val(A, <<B,C,D,E>>) when A#attribute.type == ipaddr -> [{A, {B,C,D,E}}]; dec_attr_val(A, Bin) when A#attribute.type == octets -> @@ -254,7 +260,7 @@ end; dec_attr_val(A, Val) -> io:format("Uups...A=~p~n",[A]), - {A, Val}. + [{A, Val}]. dec_vend_attr_val(_VendId, <<>>) -> []; dec_vend_attr_val(VendId, <<Vtype:8, Vlen:8, Vbin/binary>>) -> |