[erlang-questions] Badarg error
Bob Ippolito
bob@REDACTED
Tue May 8 09:51:17 CEST 2012
In the second to last line you are declaring Frame as an integer and in the
last line you are using it as a binary. I don't see anything obviously
wrong other than that, but harder to read if on a phone :)
On Tuesday, May 8, 2012, Farruco Sanjurjo wrote:
> Hi,
>
> I'm getting a badarg error in this code
>
> from_binary(Data = <<Head:8, 0:1, PayloadLen:7, Trailing/bits>>, Acc) ->
> PayloadBytes= case PayloadLen of
> 126 ->
> <<ExtPayloadLen:16, _/binary>> = Trailing,
> 2 + ExtPayloadLen;
> 127 ->
> <<ExtPayloadLen:64, _/binary>> = Trailing,
> 8 + ExtPayloadLen;
> _ ->
> %<<Payload:ExtPayloadLen/binary, Rest/binary>>
> PayloadLen
> end,
> FrameSize = 16 + (PayloadBytes * 8),
> <<Frame:FrameSize, Rest/binary>> = Data,
> from_binary(Rest, [decode_frame(<<Frame/binary>>) | Acc]);
>
> The error points to the line " FrameSize = 16 + (PayloadBytes * 8)".
>
> I've been struggling for a while but I can't figure out what's wrong. Any
> suggestion?
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20120508/62eafc91/attachment.htm>
More information about the erlang-questions
mailing list