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 s32CCfWj010191 for ; Wed, 2 Apr 2014 08:12:42 -0400 (EDT) Received: (from kristaps@localhost) by krisdoz.my.domain (8.14.5/8.14.3/Submit) id s32CCfIm013450; Wed, 2 Apr 2014 08:12:41 -0400 (EDT) Date: Wed, 2 Apr 2014 08:12:41 -0400 (EDT) Message-Id: <201404021212.s32CCfIm013450@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 and (ignore) . X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 Log Message: ----------- Add and (ignore) . Also give more error-reporting for internal XML errors. Modified Files: -------------- docbook2mdoc: rules.c extern.h docbook2mdoc.c Revision Data ------------- Index: extern.h =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/docbook2mdoc/extern.h,v retrieving revision 1.16 retrieving revision 1.17 diff -Lextern.h -Lextern.h -u -p -r1.16 -r1.17 --- extern.h +++ extern.h @@ -8,6 +8,7 @@ enum nodeid { NODE_ROOT = 0, /* Must comes first. */ /* Alpha-ordered hereafter. */ NODE_ACRONYM, + NODE_ANCHOR, NODE_APPLICATION, NODE_ARG, NODE_CAUTION, @@ -59,6 +60,7 @@ enum nodeid { NODE_ROW, NODE_SBR, NODE_SCREEN, + NODE_SGMLTAG, NODE_STRUCTNAME, NODE_SYNOPSIS, NODE_TABLE, @@ -76,6 +78,7 @@ enum nodeid { NODE_VARLISTENTRY, NODE_VARNAME, NODE_WARNING, + NODE_WORDASWORD, NODE__MAX }; Index: docbook2mdoc.c =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/docbook2mdoc/docbook2mdoc.c,v retrieving revision 1.29 retrieving revision 1.30 diff -Ldocbook2mdoc.c -Ldocbook2mdoc.c -u -p -r1.29 -r1.30 --- docbook2mdoc.c +++ docbook2mdoc.c @@ -88,6 +88,7 @@ static const char *attrvals[ATTRVAL__MAX static const struct node nodes[NODE__MAX] = { { NULL, 0 }, { "acronym", 0 }, + { "anchor", NODE_IGNTEXT }, { "application", 0 }, { "arg", 0 }, { "caution", NODE_IGNTEXT }, @@ -139,6 +140,7 @@ static const struct node nodes[NODE__MAX { "row", NODE_IGNTEXT }, { "sbr", NODE_IGNTEXT }, { "screen", NODE_IGNTEXT }, + { "sgmltag", 0 }, { "structname", 0 }, { "synopsis", 0 }, { "table", NODE_IGNTEXT }, @@ -156,6 +158,7 @@ static const struct node nodes[NODE__MAX { "varlistentry", NODE_IGNTEXT }, { "varname", 0 }, { "warning", NODE_IGNTEXT }, + { "wordasword", 0 }, }; static void @@ -1065,6 +1068,9 @@ pnode_print(struct parse *p, struct pnod pnode_printmopen(p); fputs("Nm", stdout); break; + case (NODE_ANCHOR): + /* Don't print anything! */ + return; case (NODE_ARG): pnode_printarg(p, pn); pnode_unlinksub(pn); @@ -1209,6 +1215,10 @@ pnode_print(struct parse *p, struct pnod assert(p->newln); puts(".br"); break; + case (NODE_SGMLTAG): + pnode_printmopen(p); + fputs("Li", stdout); + break; case (NODE_STRUCTNAME): pnode_printmopen(p); fputs("Vt", stdout); @@ -1296,6 +1306,7 @@ pnode_print(struct parse *p, struct pnod case (NODE_PARAMETER): case (NODE_REPLACEABLE): case (NODE_REFPURPOSE): + case (NODE_SGMLTAG): case (NODE_STRUCTNAME): case (NODE_TEXT): case (NODE_USERINPUT): @@ -1358,7 +1369,9 @@ readfile(XML_Parser xp, int fd, while ((ssz = read(fd, b, bsz)) >= 0) { if (0 == (rc = XML_Parse(xp, b, ssz, 0 == ssz))) - fprintf(stderr, "%s: %s\n", fn, + fprintf(stderr, "%s:%zu:%zu: %s\n", fn, + XML_GetCurrentLineNumber(xp), + XML_GetCurrentColumnNumber(xp), XML_ErrorString (XML_GetErrorCode(xp))); else if ( ! p.stop && ssz > 0) Index: rules.c =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/docbook2mdoc/rules.c,v retrieving revision 1.16 retrieving revision 1.17 diff -Lrules.c -Lrules.c -u -p -r1.16 -r1.17 --- rules.c +++ rules.c @@ -87,6 +87,9 @@ isparent(enum nodeid node, enum nodeid p break; } return(0); + case (NODE_ANCHOR): + /* We'll ignore this. */ + return(1); case (NODE_APPLICATION): switch (parent) { case (NODE_EMPHASIS): @@ -454,6 +457,7 @@ isparent(enum nodeid node, enum nodeid p case (NODE_ULINK): case (NODE_USERINPUT): case (NODE_VARNAME): + case (NODE_WORDASWORD): return(1); default: break; @@ -689,7 +693,6 @@ isparent(enum nodeid node, enum nodeid p break; } return(0); - case (NODE_REFCLASS): return(parent == NODE_REFNAMEDIV); case (NODE_REFDESCRIPTOR): @@ -773,12 +776,14 @@ isparent(enum nodeid node, enum nodeid p case (NODE_REFPURPOSE): case (NODE_REPLACEABLE): case (NODE_SCREEN): + case (NODE_SGMLTAG): case (NODE_SYNOPSIS): case (NODE_TERM): case (NODE_TITLE): case (NODE_ULINK): case (NODE_USERINPUT): case (NODE_VARNAME): + case (NODE_WORDASWORD): default: return(1); } @@ -825,6 +830,37 @@ isparent(enum nodeid node, enum nodeid p break; } return(0); + case (NODE_SGMLTAG): + switch (parent) { + case (NODE_APPLICATION): + case (NODE_CODE): + case (NODE_COMMAND): + case (NODE_EMPHASIS): + case (NODE_ENTRY): + case (NODE_FILENAME): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_FUNCTION): + case (NODE_LINK): + case (NODE_LITERAL): + case (NODE_OPTION): + case (NODE_PARA): + case (NODE_PARAMETER): + case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): + case (NODE_REFDESCRIPTOR): + case (NODE_REFENTRYTITLE): + case (NODE_REFNAME): + case (NODE_REFPURPOSE): + case (NODE_SCREEN): + case (NODE_SYNOPSIS): + case (NODE_TERM): + case (NODE_TITLE): + case (NODE_USERINPUT): + return(1); + default: + break; + } + return(0); case (NODE_STRUCTNAME): switch (parent) { case (NODE_CODE): @@ -1027,6 +1063,29 @@ isparent(enum nodeid node, enum nodeid p case (NODE_TIP): case (NODE_VARIABLELIST): case (NODE_WARNING): + return(1); + default: + break; + } + return(0); + case (NODE_WORDASWORD): + switch (parent) { + case (NODE_EMPHASIS): + case (NODE_ENTRY): + case (NODE_FUNCSYNOPSISINFO): + case (NODE_LINK): + case (NODE_PARA): + case (NODE_PROGRAMLISTING): + case (NODE_QUOTE): + case (NODE_REFDESCRIPTOR): + case (NODE_REFENTRYTITLE): + case (NODE_REFNAME): + case (NODE_REFPURPOSE): + case (NODE_SCREEN): + case (NODE_SYNOPSIS): + case (NODE_TERM): + case (NODE_TITLE): + case (NODE_ULINK): return(1); default: break; -- To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv