From f3f50b29d615d2678d8047dc277b108cc5143167 Mon Sep 17 00:00:00 2001 From: Nick Wellnhofer Date: Sun, 19 Jan 2020 13:46:10 +0100 Subject: Rearrange struct cmark_node Introduce multi-purpose data/len members in struct cmark_node. This is mainly used to store literal text for inlines, code and HTML blocks. Move the content strbuf for blocks from cmark_node to cmark_parser. When finalizing nodes that allow inlines (paragraphs and headings), detach the strbuf and store the block content in the node's data/len members. Free the block content after processing inlines. Reduces size of struct cmark_node by 8 bytes. --- src/parser.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/parser.h') diff --git a/src/parser.h b/src/parser.h index f41f099..8f6c694 100644 --- a/src/parser.h +++ b/src/parser.h @@ -29,6 +29,7 @@ struct cmark_parser { cmark_strbuf curline; bufsize_t last_line_length; cmark_strbuf linebuf; + cmark_strbuf content; int options; bool last_buffer_ended_with_cr; }; -- cgit v1.2.3