diff options
author | Nick Wellnhofer <wellnhofer@aevum.de> | 2020-01-18 23:12:37 +0100 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2020-01-23 08:25:54 -0800 |
commit | b237924585e61532ada774bf9e70eadff00666dc (patch) | |
tree | 4355e86e19736d1eeffd905cdbc2d2b6ea7a6430 /src/xml.c | |
parent | 3acbdf0965859c55fa36c65a4c0e17e92012687c (diff) |
Use C string instead of chunk for link URL and title
Use zero-terminated C strings instead of cmark_chunks without storing
the length. This introduces a few additional strlen computations,
but overhead should be low.
Allows to reduce size of struct cmark_node later.
Diffstat (limited to 'src/xml.c')
-rw-r--r-- | src/xml.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -121,11 +121,14 @@ static int S_render_node(cmark_node *node, cmark_event_type ev_type, case CMARK_NODE_LINK: case CMARK_NODE_IMAGE: cmark_strbuf_puts(xml, " destination=\""); - escape_xml(xml, node->as.link.url.data, node->as.link.url.len); - cmark_strbuf_putc(xml, '"'); - cmark_strbuf_puts(xml, " title=\""); - escape_xml(xml, node->as.link.title.data, node->as.link.title.len); + escape_xml(xml, node->as.link.url, strlen((char *)node->as.link.url)); cmark_strbuf_putc(xml, '"'); + if (node->as.link.title) { + cmark_strbuf_puts(xml, " title=\""); + escape_xml(xml, node->as.link.title, + strlen((char *)node->as.link.title)); + cmark_strbuf_putc(xml, '"'); + } break; default: break; |