diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2015-04-19 13:50:25 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2015-04-19 13:50:25 +0000 |
commit | 8b443f186e2557df92e04f3b82a2ce9d2011cb7e (patch) | |
tree | 5a8f490b14623ef0fa1b59748985a18a717ebdaf /man_macro.c | |
parent | 28e0682df89260767e1ad5a3af0b93e504ae5290 (diff) | |
download | mandoc-8b443f186e2557df92e04f3b82a2ce9d2011cb7e.tar.gz mandoc-8b443f186e2557df92e04f3b82a2ce9d2011cb7e.tar.zst mandoc-8b443f186e2557df92e04f3b82a2ce9d2011cb7e.zip |
Unify node handling functions:
* node_alloc() for mdoc and man_node_alloc() -> roff_node_alloc()
* node_append() for mdoc and man_node_append() -> roff_node_append()
* mdoc_head_alloc() and man_head_alloc() -> roff_head_alloc()
* mdoc_body_alloc() and man_body_alloc() -> roff_body_alloc()
* mdoc_node_unlink() and man_node_unlink() -> roff_node_unlink()
* mdoc_node_free() and man_node_free() -> roff_node_free()
* mdoc_node_delete() and man_node_delete() -> roff_node_delete()
Minus 130 lines of code, no functional change.
Diffstat (limited to 'man_macro.c')
-rw-r--r-- | man_macro.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/man_macro.c b/man_macro.c index 992f0148..55dc31cd 100644 --- a/man_macro.c +++ b/man_macro.c @@ -1,4 +1,4 @@ -/* $Id: man_macro.c,v 1.105 2015/04/18 16:06:40 schwarze Exp $ */ +/* $Id: man_macro.c,v 1.106 2015/04/19 13:50:25 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2012, 2013, 2014, 2015 Ingo Schwarze <schwarze@openbsd.org> @@ -29,6 +29,7 @@ #include "roff.h" #include "man.h" #include "libmandoc.h" +#include "roff_int.h" #include "libman.h" static void blk_close(MACRO_PROT_ARGS); @@ -110,7 +111,7 @@ man_unscope(struct roff_man *man, const struct roff_node *to) } man->last = n; n = n->parent; - man_node_delete(man, man->last); + roff_node_delete(man, man->last); continue; } if (n->type == ROFFT_BLOCK && @@ -259,8 +260,7 @@ blk_exp(MACRO_PROT_ARGS) rew_scope(man, tok); man_block_alloc(man, line, ppos, tok); - man_head_alloc(man, line, ppos, tok); - head = man->last; + head = roff_head_alloc(man, line, ppos, tok); la = *pos; if (man_args(man, line, pos, buf, &p)) @@ -272,7 +272,7 @@ blk_exp(MACRO_PROT_ARGS) man_macronames[tok], buf + *pos); man_unscope(man, head); - man_body_alloc(man, line, ppos, tok); + roff_body_alloc(man, line, ppos, tok); } /* @@ -290,8 +290,10 @@ blk_imp(MACRO_PROT_ARGS) rew_scope(man, tok); man_block_alloc(man, line, ppos, tok); - man_head_alloc(man, line, ppos, tok); n = man->last; + if (n->tok == MAN_SH || n->tok == MAN_SS) + man->flags &= ~MAN_LITERAL; + n = roff_head_alloc(man, line, ppos, tok); /* Add line arguments. */ @@ -317,7 +319,7 @@ blk_imp(MACRO_PROT_ARGS) /* Close out the head and open the body. */ man_unscope(man, n); - man_body_alloc(man, line, ppos, tok); + roff_body_alloc(man, line, ppos, tok); } void |