diff --git a/src/event.rs b/src/event.rs index 45c0438..4c70ea9 100644 --- a/src/event.rs +++ b/src/event.rs @@ -315,12 +315,17 @@ fn parse_utf8_char(c: u8, iter: &mut I) -> Result bytes.push(c); loop { - bytes.push(iter.next().unwrap().unwrap()); - if let Ok(st) = str::from_utf8(bytes) { - return Ok(st.chars().next().unwrap()); - } - if bytes.len() >= 4 { - return error; + match iter.next() { + Some(Ok(next)) => { + bytes.push(next); + if let Ok(st) = str::from_utf8(bytes) { + return Ok(st.chars().next().unwrap()); + } + if bytes.len() >= 4 { + return error; + } + } + _ => return error, } } }