=================================================================== RCS file: /cvs/docbook2mdoc/docbook2mdoc.c,v retrieving revision 1.50 retrieving revision 1.51 diff -u -p -r1.50 -r1.51 --- docbook2mdoc/docbook2mdoc.c 2019/03/22 16:10:09 1.50 +++ docbook2mdoc/docbook2mdoc.c 2019/03/22 16:14:52 1.51 @@ -1,4 +1,4 @@ -/* $Id: docbook2mdoc.c,v 1.50 2019/03/22 16:10:09 schwarze Exp $ */ +/* $Id: docbook2mdoc.c,v 1.51 2019/03/22 16:14:52 schwarze Exp $ */ /* * Copyright (c) 2014 Kristaps Dzonsons * Copyright (c) 2019 Ingo Schwarze @@ -806,7 +806,6 @@ pnode_printrefmeta(struct parse *p, struct pnode *pn) else if (NODE_REFENTRYTITLE == pp->node) title = pp; - puts(".Dd $Mdocdate" "$"); fputs(".Dt", stdout); p->newln = 0; @@ -820,8 +819,6 @@ pnode_printrefmeta(struct parse *p, struct pnode *pn) p->newln = 1; } else pnode_printmacroline(p, manvol); - - puts(".Os"); } static void @@ -1069,19 +1066,27 @@ static void pnode_printprologue(struct parse *p, struct pnode *pn) { struct pnode *pp; + struct pattr *ap; + const char *name; pp = NULL == p->root ? NULL : pnode_findfirst(p->root, NODE_REFMETA); + puts(".Dd $Mdocdate" "$"); if (NULL != pp) { pnode_printrefmeta(p, pp); pnode_unlink(pp); } else { - puts(".\\\" Supplying bogus prologue..."); - puts(".Dd $Mdocdate" "$"); - puts(".Dt UNKNOWN 1"); - puts(".Os"); + name = "UNKNOWN"; + TAILQ_FOREACH(ap, &p->root->attrq, child) { + if (ATTRKEY_ID == ap->key) { + name = ap->rawval; + break; + } + } + printf(".Dt %s 1\n", name); } + puts(".Os"); if (PARSE_EQN & p->flags) { puts(".EQ");