diff options
author | John MacFarlane <jgm@berkeley.edu> | 2014-12-14 13:49:53 -0800 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2014-12-14 14:03:57 -0800 |
commit | 37554bbb7901b7116e1a5006f331968444141b76 (patch) | |
tree | 9307d76a0c83f2e36158269d15f72fd565dd7c56 /src | |
parent | 1014764a109e7f8f47d466080962f5f344287277 (diff) |
Use as.literal instead of string_content for HTML and code blocks.
This is for consistency with the other types of nodes that have
literal strings as contents.
Diffstat (limited to 'src')
-rw-r--r-- | src/blocks.c | 8 | ||||
-rw-r--r-- | src/html.c | 5 | ||||
-rw-r--r-- | src/node.c | 7 |
3 files changed, 10 insertions, 10 deletions
diff --git a/src/blocks.c b/src/blocks.c index 7648c96..18a6536 100644 --- a/src/blocks.c +++ b/src/blocks.c @@ -215,7 +215,6 @@ finalize(cmark_parser *parser, cmark_node* b, int line_number) if (!b->as.code.fenced) { // indented code remove_trailing_blank_lines(&b->string_content); strbuf_putc(&b->string_content, '\n'); - break; } else { // first line of contents becomes info @@ -231,8 +230,13 @@ finalize(cmark_parser *parser, cmark_node* b, int line_number) strbuf_trim(&b->as.code.info); strbuf_unescape(&b->as.code.info); - break; } + b->as.literal = chunk_buf_detach(&b->string_content); + break; + + case NODE_HTML: + b->as.literal = chunk_buf_detach(&b->string_content); + break; case NODE_LIST: // determine tight/loose status b->as.list.tight = true; // tight by default @@ -153,14 +153,13 @@ S_render_node(cmark_node *node, cmark_event_type ev_type, void *vstate) strbuf_puts(html, "\">"); } - escape_html(html, node->string_content.ptr, node->string_content.size); + escape_html(html, node->as.literal.data, node->as.literal.len); strbuf_puts(html, "</code></pre>\n"); break; case CMARK_NODE_HTML: cr(html); - strbuf_put(html, node->string_content.ptr, - node->string_content.size); + strbuf_put(html, node->as.literal.data, node->as.literal.len); break; case CMARK_NODE_HRULE: @@ -42,10 +42,12 @@ void S_free_nodes(cmark_node *e) switch (e->type){ case NODE_CODE_BLOCK: strbuf_free(&e->as.code.info); + chunk_free(&e->as.literal); break; case NODE_TEXT: case NODE_INLINE_HTML: case NODE_CODE: + case NODE_HTML: chunk_free(&e->as.literal); break; case NODE_LINK: @@ -183,8 +185,6 @@ cmark_node_get_string_content(cmark_node *node) { switch (node->type) { case NODE_CODE_BLOCK: case NODE_HTML: - return strbuf_cstr(&node->string_content); - case NODE_TEXT: case NODE_INLINE_HTML: case NODE_CODE: @@ -206,9 +206,6 @@ cmark_node_set_string_content(cmark_node *node, const char *content) { switch (node->type) { case NODE_CODE_BLOCK: case NODE_HTML: - strbuf_sets(&node->string_content, content); - return 1; - case NODE_TEXT: case NODE_INLINE_HTML: case NODE_CODE: |