=================================================================== RCS file: /cvs/docbook2mdoc/main.c,v retrieving revision 1.8 retrieving revision 1.10 diff -u -p -r1.8 -r1.10 --- docbook2mdoc/main.c 2019/04/28 17:10:06 1.8 +++ docbook2mdoc/main.c 2019/05/01 09:02:25 1.10 @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.8 2019/04/28 17:10:06 schwarze Exp $ */ +/* $Id: main.c,v 1.10 2019/05/01 09:02:25 schwarze Exp $ */ /* * Copyright (c) 2014 Kristaps Dzonsons * Copyright (c) 2019 Ingo Schwarze @@ -16,6 +16,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include +#include #include #include #include @@ -41,7 +42,7 @@ main(int argc, char *argv[]) struct parse *parser; struct ptree *tree; const char *progname; - const char *fname; + const char *bname, *fname, *sec; int ch, fd, rc, warn; enum outt outtype; @@ -50,10 +51,14 @@ main(int argc, char *argv[]) else progname++; + sec = NULL; warn = 0; outtype = OUTT_MDOC; - while ((ch = getopt(argc, argv, "T:W")) != -1) { + while ((ch = getopt(argc, argv, "s:T:W")) != -1) { switch (ch) { + case 's': + sec = optarg; + break; case 'T': if (strcmp(optarg, "mdoc") == 0) outtype = OUTT_MDOC; @@ -97,7 +102,7 @@ main(int argc, char *argv[]) parser = parse_alloc(warn); tree = parse_file(parser, fd, fname); - ptree_reorg(tree); + ptree_reorg(tree, sec); rc = tree->flags & TREE_ERROR ? 3 : tree->flags & TREE_WARN ? 2 : 0; /* Format. */ @@ -105,9 +110,12 @@ main(int argc, char *argv[]) if (outtype != OUTT_LINT && tree->root != NULL) { if (rc > 2) fputc('\n', stderr); - if (outtype == OUTT_MDOC) + if (outtype == OUTT_MDOC) { + if (fd == -1 && (bname = basename(fname)) != NULL) + printf(".\\\" automatically generated " + "with %s %s\n", progname, bname); ptree_print_mdoc(tree); - else + } else ptree_print_tree(tree); if (rc > 2) fputs("\nThe output may be incomplete, see the " @@ -117,7 +125,7 @@ main(int argc, char *argv[]) return rc; usage: - fprintf(stderr, "usage: %s [-W] [-T mdoc | tree | lint] " - "[input_filename]\n", progname); + fprintf(stderr, "usage: %s [-W] [-s section] " + "[-T mdoc | tree | lint] [input_filename]\n", progname); return 5; }