From 7bc7581b22fbb2f77529a5ac9bca57ed1916bd32 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Tue, 25 Nov 2014 15:54:27 -0800 Subject: Replaced cmark_debug_print with cmark_render_ast. This returns a string. --- src/cmark.h | 2 +- src/main.c | 6 +++--- src/print.c | 7 +++++-- 3 files changed, 9 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/cmark.h b/src/cmark.h index d778a53..6105332 100644 --- a/src/cmark.h +++ b/src/cmark.h @@ -185,7 +185,7 @@ cmark_node *cmark_parse_file(FILE *f); // Renderer CMARK_EXPORT -void cmark_debug_print(cmark_node *root); +char *cmark_render_ast(cmark_node *root); CMARK_EXPORT char *cmark_render_html(cmark_node *root); diff --git a/src/main.c b/src/main.c index 96e53ce..a7f18cb 100644 --- a/src/main.c +++ b/src/main.c @@ -19,13 +19,13 @@ static void print_document(cmark_node *document, bool ast) { char *result; if (ast) { - cmark_debug_print(document); + result = cmark_render_ast(document); } else { result = cmark_render_html(document); - printf("%s", result); - free(result); } + printf("%s", result); + free(result); } int main(int argc, char *argv[]) diff --git a/src/print.c b/src/print.c index 9f1f233..d2dfe8c 100644 --- a/src/print.c +++ b/src/print.c @@ -158,9 +158,12 @@ static void render_nodes(strbuf* buffer, cmark_node* node, int indent) } } -void cmark_debug_print(cmark_node *root) +char *cmark_render_ast(cmark_node *root) { + char* result; strbuf buffer = GH_BUF_INIT; render_nodes(&buffer, root, -2); - printf("%s", buffer.ptr); + result = (char *)strbuf_detach(&buffer); + strbuf_free(&buffer); + return result; } -- cgit v1.2.3