From 48e452874c1d7158cec43b85853776ea4ddbfe06 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 26 Aug 2013 17:26:42 +0200 Subject: xua_codec: convert integer to binary and truncate binary to length --- src/xua_codec.erl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/xua_codec.erl b/src/xua_codec.erl index 7fb3103..ad5cbd3 100644 --- a/src/xua_codec.erl +++ b/src/xua_codec.erl @@ -89,10 +89,14 @@ encode_xua_opts([{Iei, Attr}|Tail], Bin) -> OptBin = encode_xua_opt(Iei, Attr), encode_xua_opts(Tail, <>). +% convert integer parameters to binary before continuing +encode_xua_opt(Iei, {LenIn, Data}) when is_integer(Iei), is_integer(Data) -> + encode_xua_opt(Iei, {LenIn, <>}); + encode_xua_opt(Iei, {LenIn, Data}) when is_integer(Iei), is_binary(Data) -> Length = LenIn + 4, PadLen = get_num_pad_bytes(Length), - <>; + <>; encode_xua_opt(Iei, Data) when is_integer(Iei), is_binary(Data) -> Length = byte_size(Data) + 4, PadLen = get_num_pad_bytes(Length), -- cgit v1.2.3