mirror of
https://github.com/serde-rs/serde.git
synced 2025-10-02 15:25:38 +00:00
Don't serialize trailing NULL
This commit is contained in:
parent
857974ab8a
commit
9f83164c40
@ -315,8 +315,7 @@ impl Deserialize for CString {
|
|||||||
fn deserialize<D>(deserializer: D) -> Result<CString, D::Error>
|
fn deserialize<D>(deserializer: D) -> Result<CString, D::Error>
|
||||||
where D: Deserializer
|
where D: Deserializer
|
||||||
{
|
{
|
||||||
let mut v: Vec<u8> = try!(Deserialize::deserialize(deserializer));
|
let v: Vec<u8> = try!(Deserialize::deserialize(deserializer));
|
||||||
v.pop(); // cut trailing NULL, because CString::new adds it
|
|
||||||
CString::new(v)
|
CString::new(v)
|
||||||
.map_err(|e| Error::custom(format!("unexpected NULL at byte {}", e.nul_position())))
|
.map_err(|e| Error::custom(format!("unexpected NULL at byte {}", e.nul_position())))
|
||||||
}
|
}
|
||||||
|
@ -106,7 +106,7 @@ impl Serialize for CStr {
|
|||||||
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
||||||
where S: Serializer
|
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<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
||||||
where S: Serializer
|
where S: Serializer
|
||||||
{
|
{
|
||||||
(self.to_bytes_with_nul()).serialize(serializer)
|
self.to_bytes().serialize(serializer)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user