diff --git a/src/parsers.rs b/src/parsers.rs index 1e3665f..4c7eec9 100644 --- a/src/parsers.rs +++ b/src/parsers.rs @@ -88,6 +88,16 @@ pub fn parse_u8(payload: &[u8]) -> Result { Ok(payload[0]) } +pub fn parse_i8(payload: &[u8]) -> Result { + if payload.len() != 1 { + return Err(DecodeError::InvalidNumber { + expected: 1, + received: payload.len(), + }); + } + Ok(payload[0] as i8) +} + pub fn parse_u32(payload: &[u8]) -> Result { if payload.len() != size_of::() { return Err(DecodeError::InvalidNumber {