diff options
Diffstat (limited to 'src/helper.rs')
-rw-r--r-- | src/helper.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/helper.rs b/src/helper.rs index 48f3d2d..0681b62 100644 --- a/src/helper.rs +++ b/src/helper.rs @@ -9,6 +9,7 @@ pub enum Endianness { pub trait ReadExt { fn read_u8(&mut self) -> Result<u8>; + fn read_i8(&mut self) -> Result<i8>; fn read_u16(&mut self, e: Endianness) -> Result<u16>; fn read_u16_le(&mut self) -> Result<u16>; fn read_u16_be(&mut self) -> Result<u16>; @@ -43,6 +44,9 @@ impl<T: Read> ReadExt for T { self.read_exact(&mut buf)?; Ok(buf[0]) } + fn read_i8(&mut self) -> Result<i8> { + Ok(self.read_u8()? as i8) + } fn read_u16(&mut self, e: Endianness) -> Result<u16> { match e { Endianness::Big => self.read_u16_be(), |