summaryrefslogtreecommitdiff
path: root/src/parser.h
diff options
context:
space:
mode:
authorNick Wellnhofer <wellnhofer@aevum.de>2020-01-19 13:46:10 +0100
committerJohn MacFarlane <jgm@berkeley.edu>2020-01-23 08:25:54 -0800
commitf3f50b29d615d2678d8047dc277b108cc5143167 (patch)
treeca3f01f6352d2cc2dd7cfc9c96508b800b8cc510 /src/parser.h
parent3ef0718f9f4c9dea5014a8a0e9a67e2366b9374f (diff)
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.
Diffstat (limited to 'src/parser.h')
-rw-r--r--src/parser.h1
1 files changed, 1 insertions, 0 deletions
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;
};