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 f0175cfcb7a6ae10eeb48ace283808235fc6206d
parent 8f75477650a30cf7ab42d915618e5d5cb92e08d6
Author: Martin Mitas <mity@morous.org>
Date:   Wed,  7 Dec 2016 15:08:41 +0100

md_do_normalize_string: Fix checking whether we are done.

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

diff --git a/md4c/md4c.c b/md4c/md4c.c @@ -859,13 +859,10 @@ md_do_normalize_string(MD_CTX* ctx, OFF beg, OFF end, const MD_LINE* lines, int while(1) { const MD_LINE* line = &lines[line_index]; OFF line_end = line->end; + if(end < line_end) + line_end = end; while(off < line_end) { - if(off >= end) { - *p_size = ptr - buffer; - return; - } - if(resolve_escapes && CH(off) == _T('\\') && off+1 < end && (ISPUNCT(off+1) || ISNEWLINE(off+1))) { if(ISNEWLINE(off+1)) @@ -878,6 +875,11 @@ md_do_normalize_string(MD_CTX* ctx, OFF beg, OFF end, const MD_LINE* lines, int off++; } + if(off >= end) { + *p_size = ptr - buffer; + return; + } + *ptr = line_break_replacement_char; ptr++;