about summary refs log tree commit diff
path: root/src/libserialize
diff options
context:
space:
mode:
authortormol <t.b.moltu@lyse.net>2016-09-08 13:54:39 +0200
committertormol <t.b.moltu@lyse.net>2016-09-28 09:03:30 +0200
commit13a2dd96fe824cc5d61e94ed380db0114efdd014 (patch)
tree808a2f28e42625a2e5bc4a88abf2d46c34727b32 /src/libserialize
parenta059cb2f3344c0a9efae17dde3d0e16a55ce93db (diff)
downloadrust-13a2dd96fe824cc5d61e94ed380db0114efdd014.tar.gz
rust-13a2dd96fe824cc5d61e94ed380db0114efdd014.zip
[breaking-change] std: change `encode_utf{8,16}()` to take a buffer and return a slice
They panic if the buffer is too small.
Diffstat (limited to 'src/libserialize')
-rw-r--r--src/libserialize/json.rs4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/libserialize/json.rs b/src/libserialize/json.rs
index 6ccc0be41bc..5e25c61bae9 100644
--- a/src/libserialize/json.rs
+++ b/src/libserialize/json.rs
@@ -433,9 +433,7 @@ fn escape_str(wr: &mut fmt::Write, v: &str) -> EncodeResult {
 }
 
 fn escape_char(writer: &mut fmt::Write, v: char) -> EncodeResult {
-    escape_str(writer, unsafe {
-        str::from_utf8_unchecked(v.encode_utf8().as_slice())
-    })
+    escape_str(writer, v.encode_utf8(&mut [0; 4]))
 }
 
 fn spaces(wr: &mut fmt::Write, mut n: usize) -> EncodeResult {