md4c

C Markdown parser. Fast. SAX-like interface. Compliant to CommonMark specification.
git clone https://noulin.net/git/md4c.git
Log | Files | Refs | README | LICENSE

commit 5b5c8e7bb0d383b902fc74c91bdc07b99b56b7a3
parent 342343b6826f3d90f8765f44ea5d9c7d3324636b
Author: Martin Mitas <mity@morous.org>
Date:   Mon, 21 Nov 2016 00:17:25 +0100

md_analyze_simple_pairing_mark: Fix handling of the "rule of three".

Diffstat:
Mmd4c/md4c.c | 5+++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/md4c/md4c.c b/md4c/md4c.c @@ -2887,12 +2887,13 @@ md_analyze_simple_pairing_mark(MD_CTX* ctx, MD_MARKCHAIN* chain, int mark_index, SZ opener_size = opener->end - opener->beg; SZ closer_size = mark->end - mark->beg; - if(apply_rule_of_three && (mark->flags & MD_MARK_INTRAWORD)) { + if(apply_rule_of_three && ((mark->flags & MD_MARK_INTRAWORD) || (opener->flags & MD_MARK_INTRAWORD))) { while((opener_size + closer_size) % 3 == 0) { if(opener->prev < 0) goto cannot_resolve; - opener = &ctx->marks[opener->prev]; + opener_index = opener->prev; + opener = &ctx->marks[opener_index]; opener_size = opener->end - opener->beg; closer_size = mark->end - mark->beg; }