From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from krisdoz.my.domain (kristaps@localhost [127.0.0.1]) by krisdoz.my.domain (8.14.5/8.14.5) with ESMTP id s3UCsR2D029933 for ; Wed, 30 Apr 2014 08:54:27 -0400 (EDT) Received: (from kristaps@localhost) by krisdoz.my.domain (8.14.5/8.14.3/Submit) id s3UCsRwf009569; Wed, 30 Apr 2014 08:54:27 -0400 (EDT) Date: Wed, 30 Apr 2014 08:54:27 -0400 (EDT) Message-Id: <201404301254.s3UCsRwf009569@krisdoz.my.domain> X-Mailinglist: mdocml-source Reply-To: source@mdocml.bsd.lv MIME-Version: 1.0 From: kristaps@mdocml.bsd.lv To: source@mdocml.bsd.lv Subject: docbook2mdoc: Add refmetainfo, which seems to be a holdover from early X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 Log Message: ----------- Add refmetainfo, which seems to be a holdover from early DocBook days. Also add the -W flag to differentiate failure and warning in scanning output. Modified Files: -------------- docbook2mdoc: docbook2mdoc.1 docbook2mdoc.c extern.h rules.c Revision Data ------------- Index: extern.h =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/docbook2mdoc/extern.h,v retrieving revision 1.20 retrieving revision 1.21 diff -Lextern.h -Lextern.h -u -p -r1.20 -r1.21 --- extern.h +++ extern.h @@ -52,6 +52,7 @@ enum nodeid { NODE_REFENTRYINFO, NODE_REFENTRYTITLE, NODE_REFMETA, + NODE_REFMETAINFO, NODE_REFMISCINFO, NODE_REFNAME, NODE_REFNAMEDIV, Index: docbook2mdoc.1 =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/docbook2mdoc/docbook2mdoc.1,v retrieving revision 1.3 retrieving revision 1.4 diff -Ldocbook2mdoc.1 -Ldocbook2mdoc.1 -u -p -r1.3 -r1.4 --- docbook2mdoc.1 +++ docbook2mdoc.1 @@ -38,7 +38,11 @@ If unspecified or .Ar \&- , .Ar file is taken to be standard input. -It accepts no arguments. +The arguments are as follows: +.Bl -tag -width Ds +.It Fl W +Output non-fatal warning messages. +.El .Pp .Nm supports only well-formed XML DocBook V4.x until V5.1. Index: docbook2mdoc.c =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/docbook2mdoc/docbook2mdoc.c,v retrieving revision 1.37 retrieving revision 1.38 diff -Ldocbook2mdoc.c -Ldocbook2mdoc.c -u -p -r1.37 -r1.38 --- docbook2mdoc.c +++ docbook2mdoc.c @@ -133,6 +133,7 @@ static const struct node nodes[NODE__MAX { "refentryinfo", NODE_IGNTEXT }, { "refentrytitle", 0 }, { "refmeta", NODE_IGNTEXT }, + { "refmetainfo", NODE_IGNTEXT }, { "refmiscinfo", NODE_IGNTEXT }, { "refname", 0 }, { "refnamediv", NODE_IGNTEXT }, @@ -169,6 +170,8 @@ static const struct node nodes[NODE__MAX { "year", NODE_IGNTEXT }, }; +static int warn = 0; + static void pnode_print(struct parse *p, struct pnode *pn); @@ -346,32 +349,35 @@ xml_elem_start(void *arg, const XML_Char if (0 == strcmp(*att, attrkeys[key])) break; if (ATTRKEY__MAX == key) { - fprintf(stderr, "%s:%zu:%zu: warning: " - "unknown attribute \"%s\"\n", - ps->fname, - XML_GetCurrentLineNumber(ps->xml), - XML_GetCurrentColumnNumber(ps->xml), - *att); + if (warn) + fprintf(stderr, "%s:%zu:%zu: warning: " + "unknown attribute \"%s\"\n", + ps->fname, + XML_GetCurrentLineNumber(ps->xml), + XML_GetCurrentColumnNumber(ps->xml), + *att); continue; } else if ( ! isattrkey(node, key)) { - fprintf(stderr, "%s:%zu:%zu: warning: " - "bad attribute \"%s\"\n", - ps->fname, - XML_GetCurrentLineNumber(ps->xml), - XML_GetCurrentColumnNumber(ps->xml), - *att); + if (warn) + fprintf(stderr, "%s:%zu:%zu: warning: " + "bad attribute \"%s\"\n", + ps->fname, + XML_GetCurrentLineNumber(ps->xml), + XML_GetCurrentColumnNumber(ps->xml), + *att); continue; } for (val = 0; val < ATTRVAL__MAX; val++) if (0 == strcmp(*(att + 1), attrvals[val])) break; if (ATTRVAL__MAX != val && ! isattrval(key, val)) { - fprintf(stderr, "%s:%zu:%zu: warning: " - "bad attribute value \"%s\"\n", - ps->fname, - XML_GetCurrentLineNumber(ps->xml), - XML_GetCurrentColumnNumber(ps->xml), - *(att + 1)); + if (warn) + fprintf(stderr, "%s:%zu:%zu: warning: " + "bad attribute value \"%s\"\n", + ps->fname, + XML_GetCurrentLineNumber(ps->xml), + XML_GetCurrentColumnNumber(ps->xml), + *(att + 1)); continue; } pattr = calloc(1, sizeof(struct pattr)); @@ -1468,15 +1474,28 @@ main(int argc, char *argv[]) XML_Parser xp; const char *fname; char *buf; - int fd, rc; + int fd, rc, ch; + const char *progname; + + progname = strrchr(argv[0], '/'); + if (progname == NULL) + progname = argv[0]; + else + ++progname; fname = "-"; xp = NULL; buf = NULL; rc = 0; - if (-1 != getopt(argc, argv, "")) - return(EXIT_FAILURE); + while (-1 != (ch = getopt(argc, argv, "W"))) + switch (ch) { + case ('W'): + warn = 1; + break; + default: + goto usage; + } argc -= optind; argv += optind; @@ -1510,4 +1529,8 @@ main(int argc, char *argv[]) if (STDIN_FILENO != fd) close(fd); return(rc ? EXIT_SUCCESS : EXIT_FAILURE); + +usage: + fprintf(stderr, "usage: %s [-W]\n", progname); + return(EXIT_FAILURE); } Index: rules.c =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/docbook2mdoc/rules.c,v retrieving revision 1.20 retrieving revision 1.21 diff -Lrules.c -Lrules.c -u -p -r1.20 -r1.21 --- rules.c +++ rules.c @@ -267,6 +267,8 @@ isparent(enum nodeid node, enum nodeid p case (NODE_COPYRIGHT): switch (parent) { case (NODE_INFO): + case (NODE_REFENTRYINFO): + case (NODE_REFMETAINFO): return(1); default: break; @@ -784,6 +786,8 @@ isparent(enum nodeid node, enum nodeid p } case (NODE_REFMETA): return(parent == NODE_REFENTRY); + case (NODE_REFMETAINFO): + return(parent == NODE_REFMETA); case (NODE_REFMISCINFO): return(parent == NODE_REFMETA); case (NODE_REFNAME): -- To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv