From 70514416c2ade2abe628efbd0a629a66febdeb13 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 6 Dec 2022 19:30:03 +0100 Subject: minor stuff, store translation as i8 --- evc/src/ser.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'evc/src/ser.rs') diff --git a/evc/src/ser.rs b/evc/src/ser.rs index 61ca684..98d6706 100644 --- a/evc/src/ser.rs +++ b/evc/src/ser.rs @@ -93,6 +93,18 @@ impl Ser for u8 { Ok(buf[0]) } } +impl Ser for i8 { + fn write(&self, sink: &mut impl Write) -> anyhow::Result<()> { + Ok(sink + .write_all(&unsafe { std::mem::transmute_copy::<_, [u8; 1]>(self) }) + .context("write i8")?) + } + fn read(source: &mut impl Read) -> anyhow::Result { + let mut buf = [0u8; 1]; + source.read_exact(&mut buf)?; + Ok(unsafe { std::mem::transmute_copy(&buf) }) + } +} impl Ser for u16 { fn write(&self, sink: &mut impl Write) -> anyhow::Result<()> { Ok(sink -- cgit v1.2.3-70-g09d2