From 01661b3a5060cde9b44ae2543e1186139d99bdd3 Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Fri, 15 Sep 2023 08:34:55 +0200 Subject: refactor: remove needless match & map --- src/tokenizer/machine.rs | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/tokenizer/machine.rs b/src/tokenizer/machine.rs index 28b101d..b6291b5 100644 --- a/src/tokenizer/machine.rs +++ b/src/tokenizer/machine.rs @@ -1799,17 +1799,13 @@ where } } State::NamedCharacterReference => { - let first_char = slf.read_char()?; + let first_char = slf.read_char()?.unwrap(); // unwrap cannot panic since we just unread the char - let char_ref = match first_char { - Some(x) => try_read_character_reference(x, |x| slf.try_read_string(x, true))? - .map(|char_ref| (x, char_ref)), + let char_ref = + try_read_character_reference(first_char, |x| slf.try_read_string(x, true))?; - None => None, - }; - - if let Some((x, char_ref)) = char_ref { - slf.temporary_buffer.push(x); + if let Some(char_ref) = char_ref { + slf.temporary_buffer.push(first_char); slf.temporary_buffer.push_str(char_ref.name); let char_ref_name_last_character = char_ref.name.chars().last(); @@ -1835,7 +1831,7 @@ where Ok(ControlToken::Continue) } } else { - slf.unread_char(first_char); + slf.unread_char(Some(first_char)); slf.flush_code_points_consumed_as_character_reference(); slf.state = State::AmbiguousAmpersand; Ok(ControlToken::Continue) -- cgit v1.2.3