diff --git a/src/lib.rs b/src/lib.rs index 7ede3f7..f5d373d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -157,9 +157,17 @@ pub(crate) trait PlistPlusConversion { impl PlistPlusConversion for Plist { fn from_rusty_plist(plist: &Value) -> Result { Plist::from_bin({ + // We cannot use plist_to_bytes because it returns XML format while we want binary let mut bytes = Vec::new(); plist::to_writer_binary(&mut bytes, plist).unwrap(); bytes }) } } + +/// Converts a rusty plist Value to bytes in XML format. Panics on failure (but it shouldn't fail, if it does it's most likely your fault) +pub(crate) fn plist_to_bytes(plist: &P) -> Vec { + let mut bytes = Vec::new(); + plist::to_writer_xml(&mut bytes, plist).unwrap(); + bytes +}