diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2017-01-10 21:59:47 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2017-01-10 21:59:47 +0000 |
commit | 88adc8bfc4d6844007b7f059956fa0ce17eeee04 (patch) | |
tree | 32d857ff2af5c7ae9fe4ecd04d18ff8df147e3cb /roff.c | |
parent | 3482d390049361a46fc425fe5791c97b2967bbdf (diff) | |
download | mandoc-88adc8bfc4d6844007b7f059956fa0ce17eeee04.tar.gz |
For the .Ux/.Ox family of macros, do text production at the validation
stage rather than in each and every individual formatter, using the
new NODE_NOSRC flag. More rigorous and also ten lines less code.
Diffstat (limited to 'roff.c')
-rw-r--r-- | roff.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -1,7 +1,7 @@ /* $Id$ */ /* * Copyright (c) 2008-2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv> - * Copyright (c) 2010-2015 Ingo Schwarze <schwarze@openbsd.org> + * Copyright (c) 2010-2015, 2017 Ingo Schwarze <schwarze@openbsd.org> * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -1017,9 +1017,13 @@ roff_node_append(struct roff_man *man, struct roff_node *n) n->parent = man->last->parent; break; case ROFF_NEXT_CHILD: + if (man->last->child != NULL) { + n->next = man->last->child; + man->last->child->prev = n; + } else + man->last->last = n; man->last->child = n; n->parent = man->last; - n->parent->last = n; break; default: abort(); |