From 40fd913238878c0605caa622cfe40aff5c38f177 Mon Sep 17 00:00:00 2001 From: alisdair sullivan Date: Sun, 3 Mar 2013 15:27:39 -0800 Subject: [PATCH] remove escaping of single quotes in strings --- src/jsx_decoder.erl | 11 +---------- src/jsx_utils.erl | 7 +------ 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/src/jsx_decoder.erl b/src/jsx_decoder.erl index 78a825c..84e89f4 100644 --- a/src/jsx_decoder.erl +++ b/src/jsx_decoder.erl @@ -295,7 +295,7 @@ string(<>, Handler, Acc, Stack, Config) -> ; [single_quote|S] -> maybe_done(Rest, handle_event({string, end_seq(Acc)}, Handler, Config), S, Config) ; _ -> - string(Rest, Handler, acc_seq(Acc, maybe_replace(?singlequote, Config)), Stack, Config) + string(Rest, Handler, acc_seq(Acc, ?singlequote), Stack, Config) end; string(<<40, Rest/binary>>, Handler, Acc, Stack, Config) -> string(Rest, Handler, acc_seq(Acc, 40), Stack, Config); @@ -661,11 +661,6 @@ maybe_replace($\n, #config{escaped_strings=true}) -> [$\\, $n]; maybe_replace($\f, #config{escaped_strings=true}) -> [$\\, $f]; maybe_replace($\r, #config{escaped_strings=true}) -> [$\\, $r]; maybe_replace($\", #config{escaped_strings=true}) -> [$\\, $\"]; -maybe_replace($', Config=#config{escaped_strings=true}) -> - case Config#config.single_quoted_strings of - true -> [$\\, $'] - ; false -> [$'] - end; maybe_replace($/, Config=#config{escaped_strings=true}) -> case Config#config.escaped_forward_slashes of true -> [$\\, $/] @@ -1771,10 +1766,6 @@ single_quoted_string_test_() -> [{string, <<"quoth the raven, 'nevermore'">>}, end_json], decode(<<39, "quoth the raven, \\'nevermore\\'", 39>>, [single_quoted_strings]) )}, - {"escape single quote", ?_assertEqual( - [{string, <<"quoth the raven, \\'nevermore\\'">>}, end_json], - decode(<<39, "quoth the raven, \\'nevermore\\'", 39>>, [single_quoted_strings, escaped_strings]) - )}, {"single quoted key", ?_assertEqual( [start_object, {key, <<"key">>}, {string, <<"value">>}, diff --git a/src/jsx_utils.erl b/src/jsx_utils.erl index 2d38f56..134cca1 100644 --- a/src/jsx_utils.erl +++ b/src/jsx_utils.erl @@ -345,7 +345,7 @@ clean(<<35, Rest/binary>>, Acc, Config) -> clean(Rest, [35] ++ Acc, Config); clean(<<36, Rest/binary>>, Acc, Config) -> clean(Rest, [36] ++ Acc, Config); clean(<<37, Rest/binary>>, Acc, Config) -> clean(Rest, [37] ++ Acc, Config); clean(<<38, Rest/binary>>, Acc, Config) -> clean(Rest, [38] ++ Acc, Config); -clean(<<39, Rest/binary>>, Acc, Config) -> clean(Rest, maybe_replace(39, Config) ++ Acc, Config); +clean(<<39, Rest/binary>>, Acc, Config) -> clean(Rest, [39] ++ Acc, Config); clean(<<40, Rest/binary>>, Acc, Config) -> clean(Rest, [40] ++ Acc, Config); clean(<<41, Rest/binary>>, Acc, Config) -> clean(Rest, [41] ++ Acc, Config); clean(<<42, Rest/binary>>, Acc, Config) -> clean(Rest, [42] ++ Acc, Config); @@ -509,11 +509,6 @@ maybe_replace($\n, #config{escaped_strings=true}) -> [$n, $\\]; maybe_replace($\f, #config{escaped_strings=true}) -> [$f, $\\]; maybe_replace($\r, #config{escaped_strings=true}) -> [$r, $\\]; maybe_replace($\", #config{escaped_strings=true}) -> [$\", $\\]; -maybe_replace($', Config=#config{escaped_strings=true}) -> - case Config#config.single_quoted_strings of - true -> [$', $\\] - ; false -> [$'] - end; maybe_replace($/, Config=#config{escaped_strings=true}) -> case Config#config.escaped_forward_slashes of true -> [$/, $\\]