From 9475ac5dd902260257aadff8a9428502e46a30e9 Mon Sep 17 00:00:00 2001 From: alisdair sullivan Date: Sun, 10 Mar 2013 18:05:18 -0700 Subject: [PATCH] fix binary optimization hurdles --- src/jsx_decoder.erl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/jsx_decoder.erl b/src/jsx_decoder.erl index ef5777d..de4b0c4 100644 --- a/src/jsx_decoder.erl +++ b/src/jsx_decoder.erl @@ -594,7 +594,7 @@ is_partial_utf(_) -> false. %% strips continuation bytes after bad utf bytes, guards against both too short %% and overlong sequences. N is the maximum number of bytes to strip -strip_continuations(Rest, Handler, Acc, Stack, Config, 0) -> +strip_continuations(<>, Handler, Acc, Stack, Config, 0) -> string(Rest, Handler, acc_seq(Acc, 16#fffd), Stack, Config); strip_continuations(<>, Handler, Acc, Stack, Config, N) when X >= 128, X =< 191 -> strip_continuations(Rest, Handler, Acc, Stack, Config, N - 1); @@ -609,7 +609,7 @@ strip_continuations(<<>>, Handler, Acc, Stack, Config, N) -> end; %% not a continuation byte, insert a replacement character for sequence thus %% far and dispatch back to string -strip_continuations(Rest, Handler, Acc, Stack, Config, _) -> +strip_continuations(<>, Handler, Acc, Stack, Config, _) -> string(Rest, Handler, acc_seq(Acc, 16#fffd), Stack, Config). @@ -758,7 +758,7 @@ integer(Bin, Handler, Acc, Stack, Config) -> finish_number(Bin, Handler, {integer, Acc}, Stack, Config). -decimal(<>, Handler, Acc, Stack, Config) when S=:= ?zero; ?is_nonzero(S) -> +decimal(<>, Handler, Acc, Stack, Config) when S =:= ?zero; ?is_nonzero(S) -> decimal(Rest, Handler, acc_seq(Acc, S), Stack, Config); %% guard against the insidious `1.e1` error decimal(<>, Handler, Acc, Stack, Config) when S =:= $e; S =:= $E -> @@ -898,7 +898,7 @@ comment(Bin, Handler, Resume, Stack, Config) -> ?error(comment, Bin, Handler, Resume, Stack, Config). -maybe_done(Rest, Handler, [], Config) -> +maybe_done(<>, Handler, [], Config) -> done(Rest, handle_event(end_json, Handler, Config), [], Config); maybe_done(<>, Handler, [object|Stack], Config) -> maybe_done(Rest, handle_event(end_object, Handler, Config), Stack, Config);