From bee5ca852b1a8e1506872aeea57f6c745c8add77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Fri, 3 Oct 2014 18:25:29 +0300 Subject: Replace some /binary to /bits in binary pattern matching We don't need the extra check for multiple of 8 bits. --- src/cowboy_websocket.erl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/cowboy_websocket.erl') diff --git a/src/cowboy_websocket.erl b/src/cowboy_websocket.erl index c700af9..cdd0365 100644 --- a/src/cowboy_websocket.erl +++ b/src/cowboy_websocket.erl @@ -269,7 +269,7 @@ websocket_data(State, Req, HandlerState, << Fin:1, Rsv:3/bits, Opcode:4, 1:1, websocket_data(State, Req, HandlerState, Opcode, Len, MaskKey, Rest, Rsv, Fin); %% When payload length is over 63 bits, the most significant bit MUST be 0. -websocket_data(State, Req, HandlerState, << _:8, 1:1, 127:7, 1:1, _:7, _/binary >>) -> +websocket_data(State, Req, HandlerState, << _:8, 1:1, 127:7, 1:1, _:7, _/bits >>) -> websocket_close(State, Req, HandlerState, {error, badframe}); %% All frames sent from the client to the server are masked. websocket_data(State, Req, HandlerState, << _:8, 0:1, _/bits >>) -> @@ -466,7 +466,7 @@ rotate_mask_key(MaskKey, UnmaskedLen) -> -spec is_utf8(binary()) -> false | binary(). is_utf8(Valid = <<>>) -> Valid; -is_utf8(<< _/utf8, Rest/binary >>) -> +is_utf8(<< _/utf8, Rest/bits >>) -> is_utf8(Rest); %% 2 bytes. Codepages C0 and C1 are invalid; fail early. is_utf8(<< 2#1100000:7, _/bits >>) -> -- cgit v1.2.3