summaryrefslogtreecommitdiff
path: root/src/node.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/node.c')
-rw-r--r--src/node.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/node.c b/src/node.c
index 1e1f0e0..931bd46 100644
--- a/src/node.c
+++ b/src/node.c
@@ -116,7 +116,7 @@ static void S_free_nodes(cmark_node *e) {
case CMARK_NODE_HTML_INLINE:
case CMARK_NODE_CODE:
case CMARK_NODE_HTML_BLOCK:
- cmark_chunk_free(NODE_MEM(e), &e->as.literal);
+ NODE_MEM(e)->free(e->as.literal.data);
break;
case CMARK_NODE_LINK:
case CMARK_NODE_IMAGE:
@@ -295,7 +295,7 @@ const char *cmark_node_get_literal(cmark_node *node) {
case CMARK_NODE_TEXT:
case CMARK_NODE_HTML_INLINE:
case CMARK_NODE_CODE:
- return cmark_chunk_to_cstr(NODE_MEM(node), &node->as.literal);
+ return node->as.literal.data ? (char *)node->as.literal.data : "";
case CMARK_NODE_CODE_BLOCK:
return (char *)node->as.code.literal;
@@ -317,7 +317,8 @@ int cmark_node_set_literal(cmark_node *node, const char *content) {
case CMARK_NODE_TEXT:
case CMARK_NODE_HTML_INLINE:
case CMARK_NODE_CODE:
- cmark_chunk_set_cstr(NODE_MEM(node), &node->as.literal, content);
+ node->as.literal.len = cmark_set_cstr(NODE_MEM(node),
+ &node->as.literal.data, content);
return 1;
case CMARK_NODE_CODE_BLOCK: