diff options
author | John MacFarlane <fiddlosopher@gmail.com> | 2014-11-11 12:51:54 -0800 |
---|---|---|
committer | John MacFarlane <fiddlosopher@gmail.com> | 2014-11-11 12:52:41 -0800 |
commit | 3739c54c9a3ce1f79452548a49f82878868fa6d0 (patch) | |
tree | 020196e9df40d35f9eb5c67cb550db8c8e8a0e4c /src/cmark.c | |
parent | cb744bd09103321b18ee979edac2cb26a414f7be (diff) |
Improved cmark_markdown_to_html.
Added length parameter so we can avoid strlen.
Properly free buffer.
Diffstat (limited to 'src/cmark.c')
-rw-r--r-- | src/cmark.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/cmark.c b/src/cmark.c index 064c080..ef98d79 100644 --- a/src/cmark.c +++ b/src/cmark.c @@ -5,15 +5,19 @@ #include "cmark.h" #include "buffer.h" -extern unsigned char *cmark_markdown_to_html(unsigned char *text) +extern unsigned char *cmark_markdown_to_html(unsigned char *text, int len) { node_block *blocks; strbuf htmlbuf = GH_BUF_INIT; + unsigned char *result; - blocks = cmark_parse_document(text, sizeof(text)); + blocks = cmark_parse_document(text, len); cmark_render_html(&htmlbuf, blocks); cmark_free_nodes(blocks); - return strbuf_detach(&htmlbuf); + result = strbuf_detach(&htmlbuf); + strbuf_free(&htmlbuf); + + return result; } |