summaryrefslogtreecommitdiffstatshomepage
path: root/mdoc.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-01-12 10:31:53 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-01-12 10:31:53 +0000
commit569c276460dfd948ab28a199826274e234cf815c (patch)
tree8942f866e4ed15b8efe1fd826e2fab985a867c60 /mdoc.c
parent66dcb58e3397f627b870f3d66d6d1460bbb1b052 (diff)
downloadmandoc-569c276460dfd948ab28a199826274e234cf815c.tar.gz
mandoc-569c276460dfd948ab28a199826274e234cf815c.tar.zst
mandoc-569c276460dfd948ab28a199826274e234cf815c.zip
*** empty log message ***
Diffstat (limited to 'mdoc.c')
-rw-r--r--mdoc.c39
1 files changed, 6 insertions, 33 deletions
diff --git a/mdoc.c b/mdoc.c
index 0d6e492c..166f5293 100644
--- a/mdoc.c
+++ b/mdoc.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc.c,v 1.25 2009/01/09 14:45:44 kristaps Exp $ */
+/* $Id: mdoc.c,v 1.26 2009/01/12 10:31:53 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -283,7 +283,8 @@ mdoc_parseln(struct mdoc *mdoc, int line, char *buf)
if ('.' != *buf) {
if (SEC_PROLOGUE != mdoc->sec_lastn) {
- mdoc_word_alloc(mdoc, line, 0, buf);
+ if ( ! mdoc_word_alloc(mdoc, line, 0, buf))
+ return(0);
mdoc->next = MDOC_NEXT_SIBLING;
return(1);
}
@@ -392,37 +393,7 @@ mdoc_macro(struct mdoc *mdoc, int tok,
static int
mdoc_node_append(struct mdoc *mdoc, struct mdoc_node *p)
{
- const char *nn, *on, *nt, *ot, *act;
-
- switch (p->type) {
- case (MDOC_TEXT):
- nn = p->data.text.string;
- nt = "text";
- break;
- case (MDOC_BODY):
- nn = mdoc_macronames[p->data.body.tok];
- nt = "body";
- break;
- case (MDOC_ELEM):
- nn = mdoc_macronames[p->data.elem.tok];
- nt = "elem";
- break;
- case (MDOC_HEAD):
- nn = mdoc_macronames[p->data.head.tok];
- nt = "head";
- break;
- case (MDOC_TAIL):
- nn = mdoc_macronames[p->data.tail.tok];
- nt = "tail";
- break;
- case (MDOC_BLOCK):
- nn = mdoc_macronames[p->data.block.tok];
- nt = "block";
- break;
- default:
- abort();
- /* NOTREACHED */
- }
+ const char *on, *ot, *act;
assert(mdoc->last);
assert(mdoc->first);
@@ -708,6 +679,8 @@ argcpy(struct mdoc_arg *dst, const struct mdoc_arg *src)
{
int i;
+ dst->line = src->line;
+ dst->pos = src->pos;
dst->arg = src->arg;
if (0 == (dst->sz = src->sz))
return;