From eea8c60fba5962d5575c8515b837fb6304f73c9d Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Fri, 1 Sep 2023 15:29:58 +0200 Subject: refactor: also use some_offset for start/end tags --- src/machine.rs | 2 +- src/tokenizer.rs | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/machine.rs b/src/machine.rs index 84fb525..b23e5f2 100644 --- a/src/machine.rs +++ b/src/machine.rs @@ -46,6 +46,7 @@ where Ok(ControlToken::Continue) } Some('<') => { + slf.some_offset = slf.reader.position() - 1; slf.state = State::TagOpen; Ok(ControlToken::Continue) } @@ -947,7 +948,6 @@ where } Some('d' | 'D') if slf.try_read_string("octype", false)? => { slf.state = State::Doctype; - slf.some_offset = slf.reader.position() - b" Ok(ControlToken::CdataOpen), diff --git a/src/tokenizer.rs b/src/tokenizer.rs index 89d743a..83c3965 100644 --- a/src/tokenizer.rs +++ b/src/tokenizer.rs @@ -49,7 +49,7 @@ pub struct Tokenizer> { current_tag_name: String, last_start_tag_name: String, is_start_tag: bool, - /// * Set to the start offset of `, O: Offset, E: Emitter> Tokenizer { #[inline] pub(crate) fn init_start_tag(&mut self) { - self.emitter - .init_start_tag(self.reader.position() - "<".len() - 1); + self.emitter.init_start_tag(self.some_offset); self.current_tag_name.clear(); self.is_start_tag = true; } #[inline] pub(crate) fn init_end_tag(&mut self) { - self.emitter - .init_end_tag(self.reader.position() - "