From 37853180bbb871e7e07d8ca89a7ea1b143347562 Mon Sep 17 00:00:00 2001 From: PoiScript Date: Mon, 4 May 2020 10:05:32 +0800 Subject: [PATCH] fix(emphasis): continue if text content is empty (#10) --- src/elements/emphasis.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/elements/emphasis.rs b/src/elements/emphasis.rs index dab39aa..6517c8b 100644 --- a/src/elements/emphasis.rs +++ b/src/elements/emphasis.rs @@ -12,13 +12,21 @@ pub(crate) struct Emphasis<'a> { impl<'a> Emphasis<'a> { pub fn parse(text: &str, marker: u8) -> Option<(&str, Emphasis)> { - debug_assert!(text.len() >= 3); + if text.len() < 3 { + return None; + } + let bytes = text.as_bytes(); + if bytes[1].is_ascii_whitespace() { return None; } + for i in memchr_iter(marker, bytes).skip(1) { - if count(&bytes[1..i], b'\n') >= 2 { + // contains at least one character + if i == 1 { + continue; + } else if count(&bytes[1..i], b'\n') >= 2 { break; } else if validate_marker(i, text) { return Some((