From 19a3a5ea4f73e8757b6d208f3be003bc2828e752 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sun, 28 Dec 2014 17:52:09 -0800 Subject: Added end_column to cmark_node struct. API exports cmark_node_get_column. XML writer indicates start and end line and column for block-level nodes. --- src/blocks.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/blocks.c') diff --git a/src/blocks.c b/src/blocks.c index 7b676b7..0caa4a5 100644 --- a/src/blocks.c +++ b/src/blocks.c @@ -64,6 +64,7 @@ cmark_parser *cmark_parser_new() parser->current = document; parser->line_number = 0; parser->curline = line; + parser->last_line_length = 0; parser->linebuf = buf; return parser; @@ -198,6 +199,8 @@ finalize(cmark_parser *parser, cmark_node* b) b->end_line = parser->line_number; } + b->end_column = parser->last_line_length - 1; // -1 because of newline + switch (b->type) { case NODE_PARAGRAPH: while (cmark_strbuf_at(&b->string_content, 0) == '[' && @@ -853,6 +856,7 @@ S_process_line(cmark_parser *parser, const unsigned char *buffer, size_t bytes) parser->current = container; } + parser->last_line_length = parser->curline->size; cmark_strbuf_clear(parser->curline); } -- cgit v1.2.3