parent
1a35d195e6
commit
c0da68f48c
|
@ -20,7 +20,6 @@ impl<B> From<WriteError<B>> for Error<B> {
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||||
pub enum ReadError {
|
pub enum ReadError {
|
||||||
Truncated { offset: usize },
|
|
||||||
InvalidSize { offset: usize, size: usize },
|
InvalidSize { offset: usize, size: usize },
|
||||||
MissingSeparator { offset: usize },
|
MissingSeparator { offset: usize },
|
||||||
Utf8Error(str::Utf8Error),
|
Utf8Error(str::Utf8Error),
|
||||||
|
@ -29,8 +28,6 @@ pub enum ReadError {
|
||||||
impl fmt::Display for ReadError {
|
impl fmt::Display for ReadError {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
match self {
|
match self {
|
||||||
&ReadError::Truncated { offset }=>
|
|
||||||
write!(f, "truncated record at offset {}", offset),
|
|
||||||
&ReadError::InvalidSize { offset, size } =>
|
&ReadError::InvalidSize { offset, size } =>
|
||||||
write!(f, "invalid record size {} at offset {}", size, offset),
|
write!(f, "invalid record size {} at offset {}", size, offset),
|
||||||
&ReadError::MissingSeparator { offset } =>
|
&ReadError::MissingSeparator { offset } =>
|
||||||
|
|
|
@ -20,7 +20,7 @@ impl<'a> Iterator for Iter<'a> {
|
||||||
let data = &self.data[self.offset..];
|
let data = &self.data[self.offset..];
|
||||||
|
|
||||||
if data.len() < 4 {
|
if data.len() < 4 {
|
||||||
return Some(Err(ReadError::Truncated { offset: self.offset }))
|
return None;
|
||||||
}
|
}
|
||||||
|
|
||||||
let record_size = BigEndian::read_u32(data) as usize;
|
let record_size = BigEndian::read_u32(data) as usize;
|
||||||
|
|
Loading…
Reference in New Issue