From 9f83164c4071753236909326c1d7760affbb6e6e Mon Sep 17 00:00:00 2001 From: Jon Gjengset Date: Fri, 3 Mar 2017 17:14:28 -0500 Subject: [PATCH] Don't serialize trailing NULL --- serde/src/de/impls.rs | 3 +-- serde/src/ser/impls.rs | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/serde/src/de/impls.rs b/serde/src/de/impls.rs index 1ad97538..6a8c1a77 100644 --- a/serde/src/de/impls.rs +++ b/serde/src/de/impls.rs @@ -315,8 +315,7 @@ impl Deserialize for CString { fn deserialize(deserializer: D) -> Result where D: Deserializer { - let mut v: Vec = try!(Deserialize::deserialize(deserializer)); - v.pop(); // cut trailing NULL, because CString::new adds it + let v: Vec = try!(Deserialize::deserialize(deserializer)); CString::new(v) .map_err(|e| Error::custom(format!("unexpected NULL at byte {}", e.nul_position()))) } diff --git a/serde/src/ser/impls.rs b/serde/src/ser/impls.rs index 32eb716f..7d44ab34 100644 --- a/serde/src/ser/impls.rs +++ b/serde/src/ser/impls.rs @@ -106,7 +106,7 @@ impl Serialize for CStr { fn serialize(&self, serializer: S) -> Result where S: Serializer { - (self.to_bytes_with_nul()).serialize(serializer) + self.to_bytes().serialize(serializer) } } @@ -116,7 +116,7 @@ impl Serialize for CString { fn serialize(&self, serializer: S) -> Result where S: Serializer { - (self.to_bytes_with_nul()).serialize(serializer) + self.to_bytes().serialize(serializer) } }