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 d6501b577927d35805ba7734f7c2d76a3a96c984
parent 6d9cac663cfc143d2e2634266081adb06dbe8d26
Author: Remy Noulin <loader2x@gmail.com>
Date:   Fri, 20 Jan 2023 13:05:23 +0100

Fix issue with conceal/hidden mark !text!

md4c/md4c.c      | 10 +++++++---
md4c/package.yml |  2 +-
2 files changed, 8 insertions(+), 4 deletions(-)

Diffstat:
Mmd4c/md4c.c | 10+++++++---
Mmd4c/package.yml | 2+-
2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/md4c/md4c.c b/md4c/md4c.c @@ -4540,12 +4540,16 @@ md_process_inlines(MD_CTX* ctx, const MD_LINE* lines, int n_lines) case '!': /* conceal/hidden */ if (mark->prev == -1) { - if(mark->flags & MD_MARK_OPENER) { + if (mark->flags & MD_MARK_OPENER) { MD_ENTER_SPAN(MD_SPAN_COC, NULL); - } else { + break; + } + } + else { + if (ctx->marks[mark->prev].ch == '!' && !(mark->flags & MD_MARK_OPENER)) { MD_LEAVE_SPAN(MD_SPAN_COC, NULL); + break; } - break; } case '[': /* Link, wiki link, image, anchor. */ case ']': diff --git a/md4c/package.yml b/md4c/package.yml @@ -1,6 +1,6 @@ --- name: md4c - version: 0.0.2 + version: 0.0.3 description: "md4c is a markdown parser library (forked from mity/md4c)" bin: ./md4c.c scripts: