summaryrefslogtreecommitdiffstatshomepage
path: root/roff.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2008-12-10 13:41:58 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2008-12-10 13:41:58 +0000
commitd49b74004ed6d2134c947f8d4f978ab2c1de3a1d (patch)
tree912f5b540e3c30b824da6555687df2152eebf7cc /roff.c
parent100d3bda4585670cac59ef74d9d74b9d35dbf2ec (diff)
downloadmandoc-d49b74004ed6d2134c947f8d4f978ab2c1de3a1d.tar.gz
mandoc-d49b74004ed6d2134c947f8d4f978ab2c1de3a1d.tar.zst
mandoc-d49b74004ed6d2134c947f8d4f978ab2c1de3a1d.zip
Sx to Sh anchors work.
Diffstat (limited to 'roff.c')
-rw-r--r--roff.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/roff.c b/roff.c
index 14db440e..5243fe71 100644
--- a/roff.c
+++ b/roff.c
@@ -1,4 +1,4 @@
-/* $Id: roff.c,v 1.61 2008/12/10 13:15:55 kristaps Exp $ */
+/* $Id: roff.c,v 1.62 2008/12/10 13:41:59 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -38,7 +38,6 @@
/* TODO: (warn) some sections need specific elements. */
/* TODO: (warn) NAME section has particular order. */
/* TODO: macros with a set number of arguments? */
-/* TODO: validate Dt macro arguments. */
/* FIXME: Bl -diag supposed to ignore callable children. */
struct roffnode {
@@ -1166,7 +1165,7 @@ static int
roff_layout(ROFFCALL_ARGS)
{
int i, c, argcp[ROFF_MAXLINEARG];
- char *argvp[ROFF_MAXLINEARG];
+ char *argvp[ROFF_MAXLINEARG], *p;
/*
* The roff_layout function is for multi-line macros. A layout
@@ -1192,7 +1191,7 @@ roff_layout(ROFFCALL_ARGS)
return((*tree->cb.roffblkout)(tree->arg, tok));
}
- argv++;
+ p = *argv++;
assert( ! (ROFF_CALLABLE & tokens[tok].flags));
if ( ! roffparseopts(tree, tok, &argv, argcp, argvp))
@@ -1249,6 +1248,10 @@ roff_layout(ROFFCALL_ARGS)
return(0);
tree->asec |= tree->csec;
+
+ if ( ! roffspecial(tree, tok, p, argcp,
+ (const char **)argvp, 0, argv))
+ return(0);
break;
default:
break;