aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/html.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 /html.c
parent100d3bda4585670cac59ef74d9d74b9d35dbf2ec (diff)
downloadmandoc-d49b74004ed6d2134c947f8d4f978ab2c1de3a1d.tar.gz
mandoc-d49b74004ed6d2134c947f8d4f978ab2c1de3a1d.tar.zst
mandoc-d49b74004ed6d2134c947f8d4f978ab2c1de3a1d.zip
Sx to Sh anchors work.
Diffstat (limited to 'html.c')
-rw-r--r--html.c32
1 files changed, 30 insertions, 2 deletions
diff --git a/html.c b/html.c
index 530b6437..80991f14 100644
--- a/html.c
+++ b/html.c
@@ -1,4 +1,4 @@
-/* $Id: html.c,v 1.23 2008/12/10 12:09:47 kristaps Exp $ */
+/* $Id: html.c,v 1.24 2008/12/10 13:41:58 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -764,6 +764,25 @@ html_inlinetagargs(struct md_mbuf *mbuf,
return(0);
switch (tok) {
+ case (ROFF_Sh):
+
+ /* FIXME: use API in ml.h. */
+
+ assert(*argv);
+ if ( ! ml_nputs(mbuf, " name=\"", 7, res))
+ return(0);
+ if ( ! ml_putstring(mbuf, *argv++, res))
+ return(0);
+ while (*argv) {
+ if ( ! ml_putstring(mbuf, "_", res))
+ return(0);
+ if ( ! ml_putstring(mbuf, *argv++, res))
+ return(0);
+ }
+ if ( ! ml_nputs(mbuf, "\"", 1, res))
+ return(0);
+ break;
+
case (ROFF_Sx):
/* FIXME: use API in ml.h. */
@@ -771,10 +790,17 @@ html_inlinetagargs(struct md_mbuf *mbuf,
assert(*argv);
if ( ! ml_nputs(mbuf, " href=\"#", 8, res))
return(0);
- if ( ! ml_putstring(mbuf, *argv, res))
+ if ( ! ml_putstring(mbuf, *argv++, res))
return(0);
+ while (*argv) {
+ if ( ! ml_putstring(mbuf, "_", res))
+ return(0);
+ if ( ! ml_putstring(mbuf, *argv++, res))
+ return(0);
+ }
if ( ! ml_nputs(mbuf, "\"", 1, res))
return(0);
+
break;
default:
break;
@@ -791,6 +817,8 @@ html_inlinetagname(struct md_mbuf *mbuf,
{
switch (tok) {
+ case (ROFF_Sh):
+ return(html_stput(mbuf, HTML_TAG_A, res));
case (ROFF_Pp):
return(html_stput(mbuf, HTML_TAG_DIV, res));
case (ROFF_Sx):