-const char *const __man_macronames[MAN_MAX] = {
- "br", "TH", "SH", "SS",
- "TP", "LP", "PP", "P",
- "IP", "HP", "SM", "SB",
- "BI", "IB", "BR", "RB",
- "R", "B", "I", "IR",
- "RI", "na", "sp", "nf",
- "fi", "RE", "RS", "DT",
- "UC", "PD", "AT", "in",
- "ft", "OP", "EX", "EE",
- "UR", "UE", "ll"
- };
-
-const char * const *man_macronames = __man_macronames;
-
-static struct man_node *man_node_alloc(struct man *, int, int,
- enum man_type, enum mant);
-static int man_node_append(struct man *,
- struct man_node *);
-static void man_node_free(struct man_node *);
-static void man_node_unlink(struct man *,
- struct man_node *);
-static int man_ptext(struct man *, int, char *, int);
-static int man_pmacro(struct man *, int, char *, int);
-static void man_free1(struct man *);
-static void man_alloc1(struct man *);
-static int man_descope(struct man *, int, int);
-
-
-const struct man_node *
-man_node(const struct man *man)
-{
-
- assert( ! (MAN_HALT & man->flags));
- return(man->first);
-}
-
-const struct man_meta *
-man_meta(const struct man *man)
-{
-
- assert( ! (MAN_HALT & man->flags));
- return(&man->meta);
-}
-
-void
-man_reset(struct man *man)
-{
-
- man_free1(man);
- man_alloc1(man);
-}
-
-void
-man_free(struct man *man)
-{
-
- man_free1(man);
- free(man);
-}
-
-struct man *
-man_alloc(struct roff *roff, struct mparse *parse, int quick)
-{
- struct man *p;
-
- p = mandoc_calloc(1, sizeof(struct man));
-
- man_hash_init();
- p->parse = parse;
- p->quick = quick;
- p->roff = roff;
-
- man_alloc1(p);
- return(p);
-}
-
-int
-man_endparse(struct man *man)
-{