fixed swap of two variables
This commit is contained in:
parent
d7140dd6c2
commit
7c2c0596c7
6 changed files with 15 additions and 16 deletions
|
@ -267,7 +267,7 @@ escaped_unicode(<<D/?encoding, Rest/binary>>,
|
|||
false ->
|
||||
string(Rest, Stack, Callbacks, Opts, [D, C, B, A, $u, ?rsolidus] ++ String)
|
||||
; {Y, NewString} ->
|
||||
string(Rest, Stack, Callbacks, Opts, [surrogate_to_codepoint(X, Y)] ++ NewString)
|
||||
string(Rest, Stack, Callbacks, Opts, [surrogate_to_codepoint(Y, X)] ++ NewString)
|
||||
end
|
||||
; X when X < 16#d800; X > 16#dfff, X < 16#fffe ->
|
||||
string(Rest, Stack, Callbacks, Opts, [X] ++ String)
|
||||
|
@ -297,8 +297,8 @@ check_acc_for_surrogate(_) ->
|
|||
|
||||
%% stole this from the unicode spec
|
||||
|
||||
surrogate_to_codepoint(X, Y) ->
|
||||
(X - 16#d800) * 16#400 + (Y - 16#dc00) + 16#10000.
|
||||
surrogate_to_codepoint(High, Low) ->
|
||||
(High - 16#d800) * 16#400 + (Low - 16#dc00) + 16#10000.
|
||||
|
||||
|
||||
%% like strings, numbers are collected in an intermediate accumulator before
|
||||
|
|
|
@ -267,7 +267,7 @@ escaped_unicode(<<D/?encoding, Rest/binary>>,
|
|||
false ->
|
||||
string(Rest, Stack, Callbacks, Opts, [D, C, B, A, $u, ?rsolidus] ++ String)
|
||||
; {Y, NewString} ->
|
||||
string(Rest, Stack, Callbacks, Opts, [surrogate_to_codepoint(X, Y)] ++ NewString)
|
||||
string(Rest, Stack, Callbacks, Opts, [surrogate_to_codepoint(Y, X)] ++ NewString)
|
||||
end
|
||||
; X when X < 16#d800; X > 16#dfff, X < 16#fffe ->
|
||||
string(Rest, Stack, Callbacks, Opts, [X] ++ String)
|
||||
|
@ -297,8 +297,8 @@ check_acc_for_surrogate(_) ->
|
|||
|
||||
%% stole this from the unicode spec
|
||||
|
||||
surrogate_to_codepoint(X, Y) ->
|
||||
(X - 16#d800) * 16#400 + (Y - 16#dc00) + 16#10000.
|
||||
surrogate_to_codepoint(High, Low) ->
|
||||
(High - 16#d800) * 16#400 + (Low - 16#dc00) + 16#10000.
|
||||
|
||||
|
||||
%% like strings, numbers are collected in an intermediate accumulator before
|
||||
|
|
|
@ -254,7 +254,7 @@ escaped_unicode(<<D/?encoding, Rest/binary>>,
|
|||
false ->
|
||||
string(Rest, Stack, Callbacks, Opts, [D, C, B, A, $u, ?rsolidus] ++ String)
|
||||
; {Y, NewString} ->
|
||||
string(Rest, Stack, Callbacks, Opts, [surrogate_to_codepoint(X, Y)] ++ NewString)
|
||||
string(Rest, Stack, Callbacks, Opts, [surrogate_to_codepoint(Y, X)] ++ NewString)
|
||||
end
|
||||
; X when X < 16#d800; X > 16#dfff, X < 16#fffe ->
|
||||
string(Rest, Stack, Callbacks, Opts, [X] ++ String)
|
||||
|
@ -284,8 +284,8 @@ check_acc_for_surrogate(_) ->
|
|||
|
||||
%% stole this from the unicode spec
|
||||
|
||||
surrogate_to_codepoint(X, Y) ->
|
||||
(X - 16#d800) * 16#400 + (Y - 16#dc00) + 16#10000.
|
||||
surrogate_to_codepoint(High, Low) ->
|
||||
(High - 16#d800) * 16#400 + (Low - 16#dc00) + 16#10000.
|
||||
|
||||
|
||||
%% like strings, numbers are collected in an intermediate accumulator before
|
||||
|
|
|
@ -254,7 +254,7 @@ escaped_unicode(<<D/?encoding, Rest/binary>>,
|
|||
false ->
|
||||
string(Rest, Stack, Callbacks, Opts, [D, C, B, A, $u, ?rsolidus] ++ String)
|
||||
; {Y, NewString} ->
|
||||
string(Rest, Stack, Callbacks, Opts, [surrogate_to_codepoint(X, Y)] ++ NewString)
|
||||
string(Rest, Stack, Callbacks, Opts, [surrogate_to_codepoint(Y, X)] ++ NewString)
|
||||
end
|
||||
; X when X < 16#d800; X > 16#dfff, X < 16#fffe ->
|
||||
string(Rest, Stack, Callbacks, Opts, [X] ++ String)
|
||||
|
@ -284,8 +284,8 @@ check_acc_for_surrogate(_) ->
|
|||
|
||||
%% stole this from the unicode spec
|
||||
|
||||
surrogate_to_codepoint(X, Y) ->
|
||||
(X - 16#d800) * 16#400 + (Y - 16#dc00) + 16#10000.
|
||||
surrogate_to_codepoint(High, Low) ->
|
||||
(High - 16#d800) * 16#400 + (Low - 16#dc00) + 16#10000.
|
||||
|
||||
|
||||
%% like strings, numbers are collected in an intermediate accumulator before
|
||||
|
|
|
@ -278,7 +278,7 @@ escaped_unicode(<<D/?encoding, Rest/binary>>,
|
|||
false ->
|
||||
string(Rest, Stack, Callbacks, Opts, [D, C, B, A, $u, ?rsolidus] ++ String)
|
||||
; {Y, NewString} ->
|
||||
string(Rest, Stack, Callbacks, Opts, [surrogate_to_codepoint(X, Y)] ++ NewString)
|
||||
string(Rest, Stack, Callbacks, Opts, [surrogate_to_codepoint(Y, X)] ++ NewString)
|
||||
end
|
||||
; X when X < 16#d800; X > 16#dfff, X < 16#fffe ->
|
||||
string(Rest, Stack, Callbacks, Opts, [X] ++ String)
|
||||
|
@ -308,8 +308,8 @@ check_acc_for_surrogate(_) ->
|
|||
|
||||
%% stole this from the unicode spec
|
||||
|
||||
surrogate_to_codepoint(X, Y) ->
|
||||
(X - 16#d800) * 16#400 + (Y - 16#dc00) + 16#10000.
|
||||
surrogate_to_codepoint(High, Low) ->
|
||||
(High - 16#d800) * 16#400 + (Low - 16#dc00) + 16#10000.
|
||||
|
||||
|
||||
%% like strings, numbers are collected in an intermediate accumulator before
|
||||
|
|
|
@ -77,7 +77,6 @@ incremental_decode(F, <<>>) ->
|
|||
; {Result, _} -> Result
|
||||
end;
|
||||
incremental_decode(F, <<A, Rest/binary>>) ->
|
||||
io:fwrite("~p~n", [A]),
|
||||
{_, G} = F(<<A>>),
|
||||
incremental_decode(G, Rest).
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue