aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/man_macro.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2015-04-19 13:50:25 +0000
committerIngo Schwarze <schwarze@openbsd.org>2015-04-19 13:50:25 +0000
commit8b443f186e2557df92e04f3b82a2ce9d2011cb7e (patch)
tree5a8f490b14623ef0fa1b59748985a18a717ebdaf /man_macro.c
parent28e0682df89260767e1ad5a3af0b93e504ae5290 (diff)
downloadmandoc-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.c16
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