diff options
| -rw-r--r-- | api_test/main.c | 13 | ||||
| -rw-r--r-- | src/blocks.c | 2 | 
2 files changed, 14 insertions, 1 deletions
diff --git a/api_test/main.c b/api_test/main.c index 4ee3546..085d458 100644 --- a/api_test/main.c +++ b/api_test/main.c @@ -441,6 +441,18 @@ test_content(test_batch_runner *runner, cmark_node_type type,  }  static void +parser(test_batch_runner *runner) +{ +	static const char markdown[] = "No newline"; +	cmark_node *doc = cmark_parse_document(markdown, sizeof(markdown) - 1); +	char *html = cmark_render_html(doc); +	STR_EQ(runner, html, "<p>No newline</p>\n", +	       "document without trailing newline"); +	free(html); +	cmark_node_destroy(doc); +} + +static void  render_html(test_batch_runner *runner)  {  	char *html; @@ -479,6 +491,7 @@ int main() {  	node_check(runner);  	create_tree(runner);  	hierarchy(runner); +	parser(runner);  	render_html(runner);  	test_print_summary(runner); diff --git a/src/blocks.c b/src/blocks.c index 2a6cdd8..c74b425 100644 --- a/src/blocks.c +++ b/src/blocks.c @@ -441,7 +441,7 @@ extern cmark_node *cmark_parse_document(const char *buffer, size_t len)  	while (buffer < end) {  		const char *eol = memchr(buffer, '\n', end - buffer); -		offset = eol ? (eol - buffer) + 1 : eol - buffer; +		offset = eol ? (eol - buffer) + 1 : end - buffer;  		cmark_process_line(parser, buffer, offset);  		buffer += offset;  		linenum++;  | 
