=================================================================== RCS file: /cvs/mandoc/man.c,v retrieving revision 1.159 retrieving revision 1.161 diff -u -p -r1.159 -r1.161 --- mandoc/man.c 2015/04/19 14:00:19 1.159 +++ mandoc/man.c 2015/04/19 14:57:38 1.161 @@ -1,4 +1,4 @@ -/* $Id: man.c,v 1.159 2015/04/19 14:00:19 schwarze Exp $ */ +/* $Id: man.c,v 1.161 2015/04/19 14:57:38 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2013, 2014, 2015 Ingo Schwarze @@ -50,7 +50,6 @@ const char *const __man_macronames[MAN_MAX] = { const char * const *man_macronames = __man_macronames; -static void man_breakscope(struct roff_man *, int); static void man_descope(struct roff_man *, int, int); static int man_ptext(struct roff_man *, int, char *, int); static int man_pmacro(struct roff_man *, int, char *, int); @@ -75,81 +74,6 @@ man_parseln(struct roff_man *man, int ln, char *buf, i man_ptext(man, ln, buf, offs)); } -void -man_elem_alloc(struct roff_man *man, int line, int pos, int tok) -{ - struct roff_node *p; - - p = roff_node_alloc(man, line, pos, ROFFT_ELEM, tok); - roff_node_append(man, p); - man->next = ROFF_NEXT_CHILD; -} - -void -man_block_alloc(struct roff_man *man, int line, int pos, int tok) -{ - struct roff_node *p; - - p = roff_node_alloc(man, line, pos, ROFFT_BLOCK, tok); - roff_node_append(man, p); - man->next = ROFF_NEXT_CHILD; -} - -void -man_word_alloc(struct roff_man *man, int line, int pos, const char *word) -{ - struct roff_node *n; - - n = roff_node_alloc(man, line, pos, ROFFT_TEXT, TOKEN_NONE); - n->string = roff_strdup(man->roff, word); - roff_node_append(man, n); - man_valid_post(man); - man->next = ROFF_NEXT_SIBLING; -} - -void -man_word_append(struct roff_man *man, const char *word) -{ - struct roff_node *n; - char *addstr, *newstr; - - n = man->last; - addstr = roff_strdup(man->roff, word); - mandoc_asprintf(&newstr, "%s %s", n->string, addstr); - free(addstr); - free(n->string); - n->string = newstr; - man->next = ROFF_NEXT_SIBLING; -} - -void -man_addeqn(struct roff_man *man, const struct eqn *ep) -{ - struct roff_node *n; - - n = roff_node_alloc(man, ep->ln, ep->pos, ROFFT_EQN, TOKEN_NONE); - n->eqn = ep; - if (ep->ln > man->last->line) - n->flags |= MAN_LINE; - roff_node_append(man, n); - man->next = ROFF_NEXT_SIBLING; - man_descope(man, ep->ln, ep->pos); -} - -void -man_addspan(struct roff_man *man, const struct tbl_span *sp) -{ - struct roff_node *n; - - man_breakscope(man, TOKEN_NONE); - n = roff_node_alloc(man, sp->line, 0, ROFFT_TBL, TOKEN_NONE); - n->span = sp; - roff_node_append(man, n); - man_valid_post(man); - man->next = ROFF_NEXT_SIBLING; - man_descope(man, sp->line, 0); -} - static void man_descope(struct roff_man *man, int line, int offs) { @@ -178,7 +102,7 @@ man_ptext(struct roff_man *man, int line, char *buf, i /* Literal free-form text whitespace is preserved. */ if (man->flags & MAN_LITERAL) { - man_word_alloc(man, line, offs, buf + offs); + roff_word_alloc(man, line, offs, buf + offs); man_descope(man, line, offs); return(1); } @@ -195,7 +119,7 @@ man_ptext(struct roff_man *man, int line, char *buf, i /* Allocate a blank entry. */ if (man->last->tok != MAN_SH && man->last->tok != MAN_SS) { - man_elem_alloc(man, line, offs, MAN_sp); + roff_elem_alloc(man, line, offs, MAN_sp); man->next = ROFF_NEXT_SIBLING; } return(1); @@ -222,7 +146,7 @@ man_ptext(struct roff_man *man, int line, char *buf, i buf[i] = '\0'; } - man_word_alloc(man, line, offs, buf + offs); + roff_word_alloc(man, line, offs, buf + offs); /* * End-of-sentence check. If the last character is an unescaped