=================================================================== RCS file: /cvs/docbook2mdoc/reorg.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -r1.4 -r1.5 --- docbook2mdoc/reorg.c 2019/04/28 20:26:49 1.4 +++ docbook2mdoc/reorg.c 2019/05/01 09:02:25 1.5 @@ -1,4 +1,4 @@ -/* $Id: reorg.c,v 1.4 2019/04/28 20:26:49 schwarze Exp $ */ +/* $Id: reorg.c,v 1.5 2019/05/01 09:02:25 schwarze Exp $ */ /* * Copyright (c) 2019 Ingo Schwarze * @@ -24,7 +24,7 @@ */ static void -reorg_root(struct pnode *root) +reorg_root(struct pnode *root, const char *sec) { struct pnode *date, *info, *name, *vol, *nc; @@ -53,11 +53,12 @@ reorg_root(struct pnode *root) pnode_alloc_text(name, pnode_getattr_raw(root, ATTRKEY_ID, "UNKNOWN")); } - if (vol == NULL) { + if (vol == NULL || sec != NULL) { + pnode_unlink(vol); vol = pnode_alloc(NULL); vol->node = NODE_MANVOLNUM; vol->parent = root; - pnode_alloc_text(vol, "1"); + pnode_alloc_text(vol, sec == NULL ? "1" : sec); } /* Insert prologue information at the beginning. */ @@ -271,8 +272,8 @@ reorg_recurse(struct pnode *n) } void -ptree_reorg(struct ptree *tree) +ptree_reorg(struct ptree *tree, const char *sec) { - reorg_root(tree->root); + reorg_root(tree->root, sec); reorg_recurse(tree->root); }