From 3aa10425c95bbe79050c3166702e38758fbe646e Mon Sep 17 00:00:00 2001 From: Titus Wormer Date: Fri, 15 Jul 2022 19:54:38 +0200 Subject: Fix interrupting of ordered items --- src/construct/list.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/construct/list.rs') diff --git a/src/construct/list.rs b/src/construct/list.rs index 4eb9797..c2007e6 100644 --- a/src/construct/list.rs +++ b/src/construct/list.rs @@ -184,14 +184,16 @@ fn before_unordered(tokenizer: &mut Tokenizer, code: Code) -> StateFnResult { /// > | 1. a /// ^ /// ``` -fn inside(tokenizer: &mut Tokenizer, code: Code, mut size: usize) -> StateFnResult { - size += 1; +fn inside(tokenizer: &mut Tokenizer, code: Code, size: usize) -> StateFnResult { match code { - Code::Char(char) if char.is_ascii_digit() && size < LIST_ITEM_VALUE_SIZE_MAX => { + Code::Char(char) if char.is_ascii_digit() && size + 1 < LIST_ITEM_VALUE_SIZE_MAX => { tokenizer.consume(code); - (State::Fn(Box::new(move |t, c| inside(t, c, size))), None) + ( + State::Fn(Box::new(move |t, c| inside(t, c, size + 1))), + None, + ) } - Code::Char('.' | ')') => { + Code::Char('.' | ')') if !tokenizer.interrupt || size < 2 => { tokenizer.exit(Token::ListItemValue); marker(tokenizer, code) } -- cgit