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 | b8b4c05111a45cab71949b527a6060013e5fac66 (patch) | |
tree | 8f6d68f2e548b7c715c5dbae5d85ca8e8a3ca0c4 /roff.c | |
parent | e5e6b19e8e4776c4e2703f500ffc8eb70f2285d4 (diff) | |
download | mandoc-b8b4c05111a45cab71949b527a6060013e5fac66.tar.gz mandoc-b8b4c05111a45cab71949b527a6060013e5fac66.tar.zst mandoc-b8b4c05111a45cab71949b527a6060013e5fac66.zip |
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 | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -1,7 +1,7 @@ -/* $Id: roff.c,v 1.286 2017/01/10 14:09:07 schwarze Exp $ */ +/* $Id: roff.c,v 1.287 2017/01/10 21:59:47 schwarze Exp $ */ /* * 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(); |