Merge branch 'develop' into vtwopointoh

This commit is contained in:
alisdair sullivan 2013-12-17 02:03:21 +00:00
commit 3bb65e9bab
12 changed files with 104 additions and 45 deletions

View file

@ -33,7 +33,7 @@
-export([decoder/3, resume/6]).
-spec decoder(Handler::module(), State::any(), Config::jsx:config()) -> jsx:decoder().
-spec decoder(Handler::module(), State::any(), Config::list()) -> jsx:decoder().
decoder(Handler, State, Config) ->
fun(JSON) -> start(JSON, {Handler, Handler:init(State)}, [], jsx_config:parse_config(Config)) end.
@ -48,7 +48,7 @@ decoder(Handler, State, Config) ->
Acc::any(),
Stack::list(atom()),
Config::jsx:config()
) -> jsx:decoder().
) -> jsx:decoder() | {incomplete, jsx:decoder()}.
resume(Rest, State, Handler, Acc, Stack, Config) ->
case State of
@ -671,12 +671,12 @@ unescape(<<$u, $d, A, B, C, ?rsolidus, $u, W, X, Y, Z, Rest/binary>>, Handler, A
false -> string(Rest, Handler, acc_seq(Acc, [16#fffd, 16#fffd]), Stack, Config)
end;
unescape(<<$u, $d, A, B, C, ?rsolidus, Rest/binary>>, Handler, Acc, Stack, Config)
when (A == $8 orelse A == $9 orelse A == $a orelse A == $b) andalso
when (A == $8 orelse A == $9 orelse A == $a orelse A == $b),
?is_hex(B), ?is_hex(C)
->
incomplete(string, <<?rsolidus, $u, $d, A, B, C, ?rsolidus, Rest/binary>>, Handler, Acc, Stack, Config);
unescape(<<$u, $d, A, B, C>>, Handler, Acc, Stack, Config)
when (A == $8 orelse A == $9 orelse A == $a orelse A == $b) andalso
when (A == $8 orelse A == $9 orelse A == $a orelse A == $b),
?is_hex(B), ?is_hex(C)
->
incomplete(string, <<?rsolidus, $u, $d, A, B, C>>, Handler, Acc, Stack, Config);
@ -1687,4 +1687,4 @@ custom_incomplete_handler_test_() ->
].
-endif.
-endif.