(data: &[u8], cursor: &mut usize, endianness: Endianness)
| 387 | } |
| 388 | |
| 389 | fn read_u32(data: &[u8], cursor: &mut usize, endianness: Endianness) -> Result<u32> { |
| 390 | ensure!(*cursor + 4 <= data.len(), "unexpected EOF while reading u32"); |
| 391 | let bytes: [u8; 4] = data[*cursor..*cursor + 4].try_into().unwrap(); |
| 392 | *cursor += 4; |
| 393 | Ok(match endianness { |
| 394 | Endianness::Big => u32::from_be_bytes(bytes), |
| 395 | Endianness::Little => u32::from_le_bytes(bytes), |
| 396 | }) |
| 397 | } |
| 398 | |
| 399 | fn read_i32(data: &[u8], cursor: &mut usize, endianness: Endianness) -> Result<i32> { |
| 400 | Ok(read_u32(data, cursor, endianness)? as i32) |
no outgoing calls
no test coverage detected