aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Du <alanhdu@gmail.com>2017-05-30 23:49:26 +0100
committerAlan Du <alanhdu@gmail.com>2017-05-30 23:55:09 +0100
commitf98d6ccd70850708ca9d7fc98c561556148b397d (patch)
tree4710364895c56e9fa52a88fa3f20880b7891e664
parenta40a2cb389b97844e3ebd615f53273be0c004edd (diff)
downloadmilf-rs-f98d6ccd70850708ca9d7fc98c561556148b397d.tar.gz
milf-rs-f98d6ccd70850708ca9d7fc98c561556148b397d.zip
Encode control characters with hex not decimal
Fix https://github.com/alexcrichton/toml-rs/issues/178
-rw-r--r--src/ser.rs2
-rw-r--r--tests/valid/unicode-escape.json1
-rw-r--r--tests/valid/unicode-escape.toml1
3 files changed, 3 insertions, 1 deletions
diff --git a/src/ser.rs b/src/ser.rs
index 9af304f..de5d41c 100644
--- a/src/ser.rs
+++ b/src/ser.rs
@@ -290,7 +290,7 @@ impl<'a> Serializer<'a> {
'\u{22}' => drop(write!(self.dst, "\\\"")),
'\u{5c}' => drop(write!(self.dst, "\\\\")),
c if c < '\u{1f}' => {
- drop(write!(self.dst, "\\u{:04}", ch as u32))
+ drop(write!(self.dst, "\\u{:04X}", ch as u32))
}
ch => drop(write!(self.dst, "{}", ch)),
}
diff --git a/tests/valid/unicode-escape.json b/tests/valid/unicode-escape.json
index 8c09dc0..32948c6 100644
--- a/tests/valid/unicode-escape.json
+++ b/tests/valid/unicode-escape.json
@@ -1,4 +1,5 @@
{
+ "answer1": {"type": "string", "value": "\u000B"},
"answer4": {"type": "string", "value": "\u03B4α"},
"answer8": {"type": "string", "value": "\u03B4β"}
}
diff --git a/tests/valid/unicode-escape.toml b/tests/valid/unicode-escape.toml
index 20198f4..c0d5a25 100644
--- a/tests/valid/unicode-escape.toml
+++ b/tests/valid/unicode-escape.toml
@@ -1,2 +1,3 @@
+answer1 = "\u000B"
answer4 = "\u03B4α"
answer8 = "\U000003B4β"