From 46788fce252360aac967f7d22893ff7917d47dd5 Mon Sep 17 00:00:00 2001 From: chertov Date: Wed, 2 Aug 2023 02:57:16 +0300 Subject: [PATCH] input packet iterator should return an Result value --- src/format/context/input.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/format/context/input.rs b/src/format/context/input.rs index e043dd24..02a836a6 100644 --- a/src/format/context/input.rs +++ b/src/format/context/input.rs @@ -159,7 +159,7 @@ impl<'a> PacketIter<'a> { } impl<'a> Iterator for PacketIter<'a> { - type Item = (Stream<'a>, Packet); + type Item = Result<(Stream<'a>, Packet), Error>; fn next(&mut self) -> Option<::Item> { let mut packet = Packet::empty(); @@ -167,15 +167,15 @@ impl<'a> Iterator for PacketIter<'a> { loop { match packet.read(self.context) { Ok(..) => unsafe { - return Some(( + return Some(Ok(( Stream::wrap(mem::transmute_copy(&self.context), packet.stream()), packet, - )); + ))); }, Err(Error::Eof) => return None, - Err(..) => (), + Err(err) => return Some(Err(err)), } } }