=================================================================== RCS file: /cvs/docbook2mdoc/docbook2mdoc.c,v retrieving revision 1.56 retrieving revision 1.58 diff -u -p -r1.56 -r1.58 --- docbook2mdoc/docbook2mdoc.c 2019/03/22 16:42:49 1.56 +++ docbook2mdoc/docbook2mdoc.c 2019/03/22 16:50:54 1.58 @@ -1,4 +1,4 @@ -/* $Id: docbook2mdoc.c,v 1.56 2019/03/22 16:42:49 schwarze Exp $ */ +/* $Id: docbook2mdoc.c,v 1.58 2019/03/22 16:50:54 schwarze Exp $ */ /* * Copyright (c) 2014 Kristaps Dzonsons * Copyright (c) 2019 Ingo Schwarze @@ -79,6 +79,7 @@ static const char *attrkeys[ATTRKEY__MAX] = { "choice", "close", "id", + "linkend", "open", "rep" }; @@ -1254,6 +1255,7 @@ static void pnode_print(struct parse *p, struct pnode *pn) { struct pnode *pp; + struct pattr *ap; char *cp; int last, sv; @@ -1311,6 +1313,7 @@ pnode_print(struct parse *p, struct pnode *pn) fputs("An", stdout); break; case (NODE_EMPHASIS): + case (NODE_FIRSTTERM): pnode_printmopen(p); fputs("Em", stdout); break; @@ -1360,6 +1363,16 @@ pnode_print(struct parse *p, struct pnode *pn) assert(p->newln); puts(".Sh LEGAL NOTICE"); break; + case (NODE_LINK): + TAILQ_FOREACH(ap, &pn->attrq, child) + if (ATTRKEY_LINKEND == ap->key) + break; + if (ap == NULL) + break; + pnode_printmopen(p); + printf("Sx %s\n", ap->rawval); + p->newln = 1; + return; case (NODE_LITERAL): pnode_printmopen(p); fputs("Li", stdout); @@ -1586,6 +1599,7 @@ pnode_print(struct parse *p, struct pnode *pn) case (NODE_EMPHASIS): case (NODE_ENVAR): case (NODE_FILENAME): + case (NODE_FIRSTTERM): case (NODE_FUNCTION): case (NODE_FUNCSYNOPSISINFO): case (NODE_LITERAL):