summaryrefslogtreecommitdiff
path: root/src/commonmark.c
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2015-07-12 14:58:08 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2015-07-12 14:58:08 -0700
commit9219938929274df6398dfe6b9356fd8bbb3d565b (patch)
tree3407d63aec175d0f14377056b24b157d5d2b0352 /src/commonmark.c
parentff2c9dc143b730a0fa5cfeddec0c355edba72e51 (diff)
Removed options field from renderer struct.
Added options argument to render_node function, and rearrange argument order.
Diffstat (limited to 'src/commonmark.c')
-rw-r--r--src/commonmark.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/commonmark.c b/src/commonmark.c
index 09644a0..7dc2767 100644
--- a/src/commonmark.c
+++ b/src/commonmark.c
@@ -163,8 +163,10 @@ get_containing_block(cmark_node *node)
}
static int
-S_render_node(cmark_node *node, cmark_event_type ev_type,
- cmark_renderer *renderer)
+S_render_node(cmark_renderer *renderer,
+ cmark_node *node,
+ cmark_event_type ev_type,
+ int options)
{
cmark_node *tmp;
int list_number;
@@ -337,14 +339,14 @@ S_render_node(cmark_node *node, cmark_event_type ev_type,
break;
case CMARK_NODE_LINEBREAK:
- if (!(CMARK_OPT_HARDBREAKS & renderer->options)) {
+ if (!(CMARK_OPT_HARDBREAKS & options)) {
LIT("\\");
}
CR();
break;
case CMARK_NODE_SOFTBREAK:
- if (renderer->width == 0) {
+ if (CMARK_OPT_HARDBREAKS & options) {
CR();
} else {
OUT(" ", true, LITERAL);
@@ -455,5 +457,10 @@ S_render_node(cmark_node *node, cmark_event_type ev_type,
char *cmark_render_commonmark(cmark_node *root, int options, int width)
{
+ if (options & CMARK_OPT_HARDBREAKS) {
+ // disable breaking on width, since it has
+ // a different meaning with OPT_HARDBREAKS
+ width = 0;
+ }
return cmark_render(root, options, width, outc, S_render_node);
}