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:
| M | md4c/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; }